URL Encode / Decode
Percent-encode and decode URLs, query strings and text — with component, full-URL and strict RFC 3986 modes.
Options
About the URL Encoder & Decoder
This free URL encoder and decoder converts text and links to and from percent-encoding right in your browser. Switch between Encode and Decode, paste your text, and the result appears instantly — ready to copy. Encoding turns characters that are unsafe or reserved in a URL (spaces, &, ?, /, # and more) into %XX escapes, while decoding turns them back into readable text.
Choose the encoding that fits the job: Component (encodeURIComponent) for a single query value or path piece, Full URL (encodeURI) to encode a whole URL while keeping its structure, or Strict (RFC 3986) for maximum compatibility. You can also switch a space between %20 and + for form-style query strings. Everything runs entirely in your browser — nothing is uploaded, so even private links and tokens stay on your device, and the tool keeps working offline once loaded.
Frequently asked questions
Answers to the questions we hear most about this tool.
What is URL encoding (percent-encoding)?
URL encoding, also called percent-encoding, replaces characters that have a special meaning in a URL — or that aren't allowed in one — with a "%" followed by two hexadecimal digits. For example a space becomes %20 and an ampersand becomes %26. It lets you safely put arbitrary text, such as a search term or a value with slashes and question marks, inside a URL or query string without breaking its structure. Paste your text here and the encoded version appears instantly.
What is the difference between encodeURIComponent and encodeURI?
Use the Component mode (encodeURIComponent) when you are encoding a single piece of a URL, such as one query-string value or a path segment — it escapes reserved characters like / ? : @ & = + and # so they are treated as data, not structure. Use the Full URL mode (encodeURI) when you want to encode an entire URL while keeping it working: it leaves those structural characters intact and only escapes things like spaces. The Strict (RFC 3986) mode goes further and also escapes ! * ' ( ) for maximum compatibility.
Why is a space sometimes %20 and sometimes a plus sign?
Both can represent a space, but in different contexts. In a path or a generic URL a space is encoded as %20, while in an application/x-www-form-urlencoded query string (the format HTML forms submit) a space is traditionally encoded as a plus sign (+). Turn on "Encode space as +" when you are building form-style query data, and turn on "Decode + as space" when you are reading it back, so the conversion matches whichever convention your URL uses.
Why does my URL fail to decode?
Decoding fails when the text isn't valid percent-encoding — usually a lone "%" that isn't followed by two hex digits (for example "100%" or "%zz"), or a truncated sequence. When that happens the tool shows a clear message instead of guessing. Fix or remove the stray "%" and it will decode; if your data uses + for spaces, enable "Decode + as space" so those are handled too.
Is this URL encoder and decoder free and private?
Yes. It is completely free with no sign-up or limits, and every conversion runs entirely in your browser with JavaScript — the URLs and text you paste are never sent to or stored on any server. That also means it keeps working offline once the page has loaded, so you can safely encode or decode sensitive links and tokens.
Related tools
JSON Formatter
Developer
Format, beautify, validate, minify, repair and explore JSON in a tree view — with key sorting, escaping and pinpoint error locations.
Open toolColor Converter
Developer
Convert colors between HEX, RGB, HSL, HSV, CMYK and OKLCH with a live picker, alpha, shades and harmonies.
Open toolColor Palette Generator
Developer
Generate harmonious color palettes and CSS gradients from any base color, then copy HEX, CSS variables or gradient code.
Open tool