URL Encode & Decode
Paste an address full of %XX codes to see the real text and every query parameter.
Read and write percent-encoded URLs
URLs can only contain a limited set of ASCII characters, so spaces, accented letters, emoji and non-Latin scripts are turned into %XX byte codes. Decoding turns caf%C3%A9 back into “café”; encoding does the reverse.
- Decode — converts %XX sequences to text. With “Treat + as space” on, form-style query strings decode correctly.
- Encode — component (
encodeURIComponent) — encodes everything except letters, digits and- _ . ! ~ * ' ( ). Use it for a single parameter value. - Encode — keep URL structure (
encodeURI) — leaves: / ? # & =intact. Use it for a whole address.
When the input contains a query string, each parameter and its decoded value is shown in a table — handy for reading tracking links and API calls.
Character sets
Modern sites use UTF-8. Some older Korean sites used EUC-KR; “Auto” tries UTF-8 first and falls back to EUC-KR when the bytes aren't valid UTF-8.
Frequently asked questions
Why is a space sometimes %20 and sometimes +?
%20 is the standard URL encoding; + is used for spaces in HTML form submissions. Turn “Treat + as space” off if your + signs are literal.
Is this the same as Base64?
No. Base64 is a different encoding; use the Base64 tool for that.
Related tools
- Base64 Encode / DecodeText (UTF-8) ↔ Base64, files and images → data URI, Base64 → file
- Strip HTML Tags (HTML to Plain Text)Turn HTML into clean plain text, keeping paragraphs, line breaks, list bullets and optional link URLs
- QR Code GeneratorLinks or text → QR image (PNG, SVG) with custom colors and a logo
- Word & Character CounterCharacters with and without spaces, words, sentences, paragraphs, bytes and reading time
- Remove Duplicate LinesKeep each line once, list only duplicates or unique lines, or count how often each appears
- Sort Lines (A–Z, Numbers, Shuffle)Sort a list alphabetically, by number or length, reverse it or shuffle randomly