URL Encode/Decode
Encode or decode URL strings (percent-encoding) in your browser.
What it's for
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.
How it works
Three steps, no hassle
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.
Choose the operation
Click 'Encode' to convert special characters to their %XX form, or 'Decode' to convert an encoded string back to readable text.
Copy the result
The result appears immediately. Use the copy button to send it to your clipboard and paste it wherever you need it.
FAQ
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.