URL encoding (percent-encoding) is the standard method for converting characters that are not allowed — or carry special meaning — inside a URL. Web browsers and servers recognise only a limited set of ASCII characters in an address: anything outside that set, including spaces, Cyrillic letters, &, =, #, and many others, must be replaced with a %XX sequence, where XX is the hexadecimal UTF-8 byte value of the character.
How to use this tool
The process takes only a few seconds:
- Paste your text or URL fragment into the input field.
- Click "Encode" to convert characters to %XX sequences, or "Decode" to turn an already-encoded string back into readable text.
- Copy the result with a single click.
Everything runs in your browser — no data is sent to any server.
Why URL encoding matters
You will need it in several common situations:
- Spaces in parameter values. A space is not a valid URL character. It must become
%20(or+in form query strings). Passing a raw space can cause the server to truncate the parameter or return an error. - Non-Latin characters. Letters from Cyrillic, Arabic, Chinese, and other scripts must be encoded: the word «Москва» becomes
%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0. Without encoding, links break in certain browsers, email clients, and ad trackers. - Special characters inside parameter values. Characters like
&,=,?, and#are structural delimiters in URLs. When they appear inside a value they must be encoded. - UTM tags with spaces or slashes. A value such as
utm_content=banner top/herowill break your link — spaces and slashes inside values must be encoded before pasting into an ad platform.
Frequently asked questions
Why does a space become %20?
The ASCII code for a space is 32, which equals 20 in hexadecimal. RFC 3986 does not allow spaces in a URI, so they are encoded as %20. In application/x-www-form-urlencoded form data, spaces are sometimes represented as + instead — but that convention applies only to HTML form submissions, not to arbitrary URL construction.
What is the difference between encode and decode?
Encode converts plain text into a URL-safe string: "hello world" becomes hello%20world. Decode does the reverse — it expands %XX sequences back into readable characters. Use the decode mode when you receive an opaque link in an email, a server log, or a webhook payload and need to understand what value was actually sent.
Why encode Cyrillic letters in a link?
The HTTP protocol and most servers only accept ASCII in request paths and query strings. Cyrillic characters are encoded in UTF-8, and each byte of that sequence is written as a %XX pair. A link containing raw Cyrillic may work in one browser but break completely when copied into a messenger, a marketing email, or a paid-traffic tracker.
Should I encode the entire URL or just the values?
Only encode values — the parts inside a parameter or path segment that contain unsafe characters. The structural characters of a URL — ://, /, ?, & between parameters — must not be encoded, or the link will stop working entirely. If you are unsure, paste only the individual parameter value rather than the full URL.
If you work with paid traffic or analytics, also try the UTM tag generator — it encodes values automatically. More tools for web professionals are available in the full tools directory.