URL Encoder & Decoder (Percent-Encoding)
About the URL Encoder / Decoder
URLs may only contain a limited set of ASCII characters, so spaces, accents and symbols are written as %XX percent-escapes. This tool encodes plain text into that safe form and decodes escaped URLs back to readable text.
Two modes mirror JavaScript's two functions: component mode (encodeURIComponent) escapes every reserved character including / and ?, for query parameter values; URI mode (encodeURI) keeps the URL structure intact, for whole addresses.
How to use the URL Encoder / Decoder
- Paste the text or URL to encode (or the escaped URL to decode).
- Pick component mode for parameter values or URI mode for whole URLs.
- Click Encode or Decode and copy the result.
Percent-encoding rules
Unreserved characters (A–Z a–z 0–9 - _ . ~) are never escaped. Everything else becomes one or more %XX bytes of its UTF-8 encoding: space → %20 (or + in form data), é → %C3%A9, 中 → %E4%B8%AD.
Frequently asked questions
Why does a space sometimes become + instead of %20?
The + convention comes from HTML form encoding (application/x-www-form-urlencoded). In proper URLs a space is %20; this tool uses %20.
When should I use component mode vs URI mode?
Use component mode for a single query-string value, where / and ? must be escaped. Use URI mode when encoding a complete URL whose structure characters should stay intact.
Can it fix double-encoded URLs?
Yes — decode repeatedly until the result stops changing to peel off layers of accidental double encoding like %2520.
Related tools
Base64 Encoder / Decoder
Base64 represents binary data using 64 safe ASCII characters, which is how emails attach files, JSON carries binary blobs and…
JSON Formatter
Paste JSON and this tool tells you instantly whether it is valid — and if not, exactly where it breaks, with the error position.
Slug Generator
A slug is the human-readable part of a URL that identifies a page — for example /blog/how-to-brew-coffee.