Web & encoding
URL Encoder & Decoder
Encode a value for a query string, decode a percent-encoded URL, or break a query string into readable key/value pairs. Both encodeURIComponent and encodeURI semantics available.
- Runs 100% in your browser
- No signup · No uploads
- Free, unlimited use
Text, URL or query string
Examples: Query value · Encoded URL to decode · Query breakdown — ⌘/Ctrl + Enter converts · drop a file to load it · processed locally
Encoded / decoded output
Output is read-only. Use Copy, Download or Share to move it out.
How to use the url encoder / decoder tool
-
Paste text, URL or query string
The tool works in both directions — encoding plain text and decoding percent-escapes.
-
Choose component or URI mode
encodeURIComponent is right for query values (it escapes & = ? /). encodeURI preserves URL structure — use it for whole URLs.
-
Or break down a query string
Switch to query mode to parse a query string into a table of decoded key/value pairs.
What makes this one different
- encodeURIComponent and encodeURI semantics, both directions
- Query-string parsing into decoded key/value pairs, + treated as space
- Correct UTF-8 percent-encoding (café → caf%C3%A9), not broken latin-1
- Clear errors for malformed escape sequences
- Offline and private, like every tool here
Privacy by architecture: this page contains no analytics that receive your input, and the conversion code runs in your tab. You can disconnect from the network after loading and keep working.
URL Encoder / Decoder — frequently asked questions
encodeURI vs encodeURIComponent — which do I need?
Use encodeURIComponent for a value you are placing inside a query parameter (?q=…): it escapes &, =, ?, / and # so the value cannot break the URL’s structure. Use encodeURI for a complete URL you want kept intact, which leaves :, / and ? alone.
Why does a space become %20 or +?
In a path or fragment, space must be %20. In application/x-www-form-urlencoded data — the body of a classic HTML form — space is +. The query parser here treats + as a space, which is the correct behaviour for form-encoded strings.
Why is my URL double-encoded?
Because it was encoded twice — often a framework encoding an already-encoded value. Decode once here; if the result still contains %-sequences, decode again, then fix the pipeline so it encodes exactly once.
Does it handle non-Latin characters?
Yes. Text is encoded as UTF-8 bytes and then percent-escaped, so Japanese, Arabic, Cyrillic and emoji all produce correct, interoperable URLs.
Related tools
Searching for “url decode online”, “percent encoding tool”, “encode uri component”? You are in the right place — browse all 19 tools.