URL Encoder and Decoder
Turn text into a safe web address and back, and read every part of a long link.
Works in your browser. Nothing you paste is sent to us.
Encoded and decoded in your browser. Nothing you paste is sent to us.
URL Encoder and Decoder at a glance
- Price
- Free
- Data sent to us
- None, it runs in your browser
- Sign-up
- Not needed
- Encoding
- Percent-encoding, UTF-8
- Modes
- Value, whole URL, form data
- Shows
- Scheme, host, path, query parameters, fragment
How to use URL Encoder and Decoder
- Pick encode or decodeChoose Encode to make text safe for an address, or Decode to read an encoded one.
- Choose what it isA single value, a whole URL or form data.
- Paste and copyPaste your text; the result appears as you type. Copy it, or Swap to go the other way.
Paste text to percent-encode it for a web address, or paste an encoded link to decode it, with the result updating as you type. Choose whether you are encoding a single value, which encodes / ? & = too, a whole URL, which keeps its structure and does not double-encode, or form data with spaces as plus signs. Addresses are split into scheme, host, path, each query parameter and the fragment, all decoded, and broken % codes are pointed out instead of stopping the decode.
How it works
URL Encoder and Decoder is a web page that does its work on your own device. Everything you type or choose is worked out by your browser and never sent to a server, so nothing is stored and there is nothing to delete. There is no account, no sign-up and no limit on how often you use it.
Straight to one job
Percent-encoding, both ways
Web addresses can only carry a limited set of characters, so spaces, accents, symbols and non-Latin scripts are written as percent codes: a space becomes %20, é becomes %C3%A9 and the Hindi word हिन्दी becomes a run of eighteen codes. Paste text to encode it, or paste an encoded address to read it again; the result updates as you type, and Swap sends it back the other way. When the input is a web address, its parts are listed underneath, with each query parameter decoded, which is the quickest way to read a long tracking link.
Value, whole URL or form data
Encoding a value, such as a search term going into a query parameter, encodes everything that has a meaning in an address, including / ? & = and #, so the value cannot break the link around it. Encoding a whole URL keeps those characters, so the address still works, and leaves codes that are already there alone instead of encoding them twice. Form data follows the rule HTML forms use, writing spaces as plus signs. Decoding reads all three, and a stray % that is not part of a valid code is left in place and pointed out rather than stopping the whole decode.
What this tool does not do
- It does not shorten links or check whether an address works.
- It does not convert international domain names to their xn-- form.
- It does not encode Base64; use the Base64 Encoder for that.
What it does
- Encode or decode as you type, with a one-click swap
- Value, whole URL or form data rules
- No double encoding of a URL that already has codes
- Every part of a URL listed, each query parameter decoded
- Accents and non-Latin scripts handled as UTF-8
- Broken % codes reported, not fatal
- No upload, no account, no sign-up
Questions
What is URL encoding?
Writing characters that are not allowed or have a special meaning in a web address as a % sign and two hexadecimal digits for each byte: a space is %20, é is %C3%A9.
Should I encode a value or the whole URL?
Encode a value when it goes inside a link, such as a search term in ?q=, so its & or = cannot break the link. Encode a whole URL when you have an address with spaces or accents that should still work as a link.
Why is a space sometimes + and sometimes %20?
HTML forms send spaces as + in the query string; elsewhere in an address a space is %20. Choose Form data for the + style. When decoding, Form data turns + back into spaces.
What is double encoding?
Encoding text that is already encoded, so %20 becomes %2520. The whole URL mode leaves existing codes alone to avoid it.
Why does decoding leave some % signs?
A % that is not followed by two valid hex digits, such as 50% off, is not a code. It is left as it is and pointed out.
Can it read the parameters of a tracking link?
Yes. Paste the link and each query parameter is listed and decoded under the result.
Is it free?
Yes, completely free, with no sign-up.


