DocumentsImagesMediaPDF Tools

URL Encode/Decode

Encode or decode URL strings (percent-encoding) in your browser.

Processed in your browser — no text sent to any server

Clean URLs instantly

RFC 3986 standard

Encoding that conforms to the URI standard for compatibility with all HTTP servers and clients.

100% private

Encoding happens in your browser using native JavaScript functions. Your URLs are never sent to any server.

Full Unicode support

Correctly handles characters from any language: Arabic, Chinese, Russian, Japanese, and all UTF-8 characters.

Instant

Results appear as you type. No waiting, no form submission.

Three steps, no hassle

1

Paste your text or URL

Enter the text you want to encode for use in a URL, or paste an encoded URL you want to read clearly.

2

Choose the operation

Click 'Encode' to convert special characters to their %XX form, or 'Decode' to convert an encoded string back to readable text.

3

Copy the result

The result appears immediately. Use the copy button to send it to your clipboard and paste it wherever you need it.

Got questions?

RFC 3986 reserves certain characters for special purposes in URLs: ': / ? # [ ] @ ! $ & ' ( ) * + , ; ='. These must be encoded when used as data rather than as URL separators. Non-ASCII characters such as accented letters, emoji, or Chinese characters must always be encoded.

They are different mechanisms for different purposes. URL encoding (percent-encoding) converts special characters to their %XX representation so they are safe inside a URL. Base64 converts binary data to ASCII text for transport over text-based protocols. URL encoding produces shorter output for simple strings; Base64 is necessary for full binary data.

It depends on the context. Strict URL encoding (RFC 3986) uses %20 for spaces. The application/x-www-form-urlencoded format used by HTML forms uses '+' instead of %20. Both representations are valid in their respective contexts but are distinct and not interchangeable.

Yes. Non-ASCII characters are first converted to their UTF-8 representation (which can be 2–4 bytes) and then each byte is encoded as %XX. For example, the Spanish 'ñ' encodes as %C3%B1 (2 UTF-8 bytes). Decoding reverses this process and correctly restores the original character.

Double encoding occurs when you encode a URL that was already encoded. For example, '%20' (an encoded space) becomes '%2520' ('%25' is the code for '%'). This breaks the URL because the server receives '%2520' instead of a space. To avoid it, always decode first if you are unsure whether the string is already encoded.

URL encoding: what percent-encoding is and when to use it

A URL can only contain a limited set of safe ASCII characters. When you need to include data in a URL that contains special characters — spaces, accented letters, punctuation, non-Latin characters — you must first encode them using percent-encoding. This mechanism replaces each problematic character with a percent sign followed by two hexadecimal digits: a space becomes %20, ñ becomes %C3%B1, and the @ symbol becomes %40.

Percent-encoding is essential in web development for several concrete cases: query parameters in REST APIs (when values contain special characters), building URLs with user-entered data (to prevent URL injection), storing URLs in databases, and generating links that include text in any language. Browsers automatically encode URLs when submitting HTML forms, but when you build URLs programmatically you must do it yourself.

Convertir.ai performs encoding and decoding directly in the browser using JavaScript's native encodeURIComponent() and decodeURIComponent() functions, which correctly implement RFC 3986. By not sending the URL to any server, it avoids the risk of exposing sensitive parameters — API tokens, personal data — during the encoding process.