URL Encoder / Decoder
Percent-encode text for URLs, and back.
Runs entirely in your browser — nothing you enter is uploaded or sent to a server.
Component mode escapes reserved characters like & = ? / while full-URL mode leaves them intact — pick the wrong one and a link can break, so choose the mode that fits your case. Read our full disclaimer.
About this tool
URLs can only safely contain a limited set of characters, so anything else — spaces, &, =, ?, or non-ASCII letters — has to be percent-encoded (a space becomes %20, & becomes %26, and so on). This tool encodes text so it's safe to drop into a link, and decodes percent-encoded text back to readable form, working on either a whole URL or a single URL component, live as you type. It all runs in your browser, so nothing you paste is uploaded.
Try it
Encoding "a b&c=d" as a component gives "a%20b%26c%3Dd". Decoding reverses it.
How to use
- 1Choose Encode or Decode.
- 2Toggle 'component' to also encode reserved characters like & = ? /.
- 3Type or paste your input; the result appears instantly to copy.
Features
- Switch between encode and decode in one click.
- Component mode (encodeURIComponent) or full-URL mode.
- Converts live, with a clear error on invalid input.
Frequently asked questions
What's the difference between component and full-URL encoding?
Component encoding (encodeURIComponent) escapes reserved characters like & = ? / too, so it's right for a single query value. Full-URL encoding (encodeURI) leaves those intact so a complete URL stays usable.
Why is a space shown as %20 (and sometimes +)?
Percent-encoding replaces a space with %20. Older HTML form submissions instead use a +, which is why you sometimes see both. This tool encodes spaces as the standard %20; decoding handles either form where it's valid.
When do I need to URL-encode text?
Whenever you put user text, a search term, or a value with spaces or symbols into a query string or link — building an API URL, a mailto link, or a tracking parameter. Encoding stops those characters from breaking the URL.
Is my input sent to a server?
No. Encoding and decoding happen entirely in your browser with the built-in encodeURIComponent / decodeURIComponent, so nothing you paste is uploaded or logged.
More developer tools
View allColor Converter
Convert a color between HEX, RGB, and HSL, with a live swatch preview and one-click copy — paste any of the three formats.
Open toolText Diff
Compare two blocks of text line by line and see exactly what was added, removed, or left unchanged — a quick side-by-side diff that runs in your browser.
Open toolJSON Diff
Compare two JSON objects and get a clear list of the fields that were added, removed, or changed — with full paths, so you spot every difference at a glance.
Open tool