URL Encode & Decode
Encode text for safe use in URLs and query strings, or decode percent-encoded URLs back into readable text.
How to use the URL Encoder
- Choose Encode or Decode.
- Paste the text, parameter value or full URL.
- For a whole URL, turn on the option to keep : / ? & and = intact.
- Copy the result; decoded URLs also list their query parameters.
Why URLs need encoding
URLs can only contain a limited set of characters. Spaces, non-English letters and symbols like &, = and % have to be written as a percent sign followed by two hexadecimal digits: a space becomes %20, & becomes %26, and é becomes %C3%A9. This is called percent-encoding or URL encoding.
Component vs whole URL
When you encode a single value, such as a search term or a redirect address that goes inside a query string, every reserved character must be encoded; this is what JavaScript's encodeURIComponent does and what the tool does by default. When you encode a complete URL, characters like :, /, ? and & must stay as they are, or the URL stops working; turn on "Whole URL" for that, which matches encodeURI.
Decoding and plus signs
In HTML form submissions, spaces are often sent as + instead of %20. The decoder treats + as a space, which is what most servers do for query strings. When you decode a full URL, its query parameters are listed in a table so you can inspect tracking links, redirect parameters or API calls at a glance.
Related tools
To embed binary data rather than text, use the Base64 encoder, and to read JSON returned by an API, use the JSON formatter. Everything runs in your browser, so private links and tokens are not uploaded.
Debugging broken links
Links break when a value containing &, #, ? or a space is inserted into a URL without encoding: the browser treats part of the value as a new parameter or as the page fragment. If a shared link opens the wrong page or loses information, decode it here to see exactly what each parameter contains. Double-encoding is another common problem, where %20 becomes %2520; decoding twice reveals it. When building links in code, always encode each parameter value separately rather than the whole string at the end.
Frequently asked questions
What does %20 mean in a URL?
Should I encode the whole URL or just the parameter?
Why do I see + instead of spaces?
Does it handle non-English characters?
Related tools
- JSON Formatter & ValidatorFormat, validate and minify JSON instantly. Choose 2 or 4 spaces or tabs, sort keys and see the exact line of any error. Private, runs in your browser.
- Base64 Encode & DecodeEncode text to Base64 or decode Base64 back to text, with full Unicode support and URL-safe output. Convert files to Base64 data URLs. Free.
- Password GeneratorGenerate strong random passwords with your choice of length, letters, numbers and symbols. Shows strength in bits. Made in your browser, never stored.
- UUID GeneratorGenerate random version 4 UUIDs (GUIDs) instantly, one or up to 1,000 at a time, in lowercase or uppercase, with or without hyphens. Free.
- Hash Generator (MD5, SHA-256)Generate MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes of text or files, and verify a download against its checksum. Free, private, no upload.
- Color Converter (HEX, RGB, HSL)Convert colours between HEX, RGB and HSL, pick from a colour picker and check text contrast against white and black. Copy CSS values in one click.