URL Encoder/Decoder
Encode and decode URLs and query parameters.
Paste a string to convert reserved and non-ASCII characters into their %XX percent-encoded form, or paste an encoded URL to decode it back to a human-readable version. Both directions handle UTF-8 cleanly so emojis and non-Latin characters survive the round-trip.
Common use cases: building safe query strings, debugging redirect URLs from OAuth flows, inspecting tracking links, and decoding values that show up in log files as long sequences of % escapes.
URL
Encoded
Frequently asked questions
When do I actually need to URL-encode?
Any time a value travels in a URL path, query string, or form body and contains characters outside the unreserved set (letters, digits,
- _ . ~). Spaces become %20 or +, slashes inside a parameter become %2F, ampersands become %26, and so on.What's the difference between encodeURI and encodeURIComponent?
encodeURI assumes the input is a full URL and leaves characters like :, / and ? alone. encodeURIComponent assumes the input is a single value (a path segment or a parameter) and encodes everything that isn't unreserved. For query-string values you almost always want encodeURIComponent.Why does my space sometimes become %20 and sometimes +?
Both are valid encodings for a space inside a query string.
%20 is the percent-encoded form used everywhere in URL paths; + is a legacy convention from application/x-www-form-urlencoded form bodies. Decoders should accept either; encoders should pick one and stay consistent.I decoded a string and got mojibake — what happened?
The original was almost certainly encoded with a non-UTF-8 charset (often Latin-1 or Windows-1252) from an older system. This tool decodes as UTF-8.