Free tool
URL Encoder and Decoder for Whole Addresses and Single Values
Paste an address or a value and the tool encodes or decodes it, working out which one you need. It can treat the text as a whole URL or as one part, and it splits any URL into its pieces so each parameter is readable.
A whole URL keeps / ? & = # and any % codes already there. One part encodes those too.
Auto decodes when the text has % codes in it, and encodes when it does not.
Encoding and decoding happen in your browser and nothing is sent anywhere or saved. The switches you set are the only thing kept, on this device.
Why a link with spaces or symbols breaks
A web address can carry only a limited set of characters. Spaces, accented letters, ampersands inside a value and many symbols are written as a percent sign followed by two hexadecimal digits. A space becomes %20, for example. Skip that step and a tracking link, a form action or an API call can quietly cut off at the wrong place.
The pasted example in the tool, a search address with spaces and an ampersand inside the query, shows the problem well. Press Encode and each unsafe character is converted.
A whole URL or one part: the choice that matters most
| Mode | Keeps as it is | Use it for |
|---|---|---|
| A whole URL | The characters / ? & = # and any % codes already present | Fixing a full link that has a space or an accent in it |
| One part | Nothing reserved, so those characters are encoded too | A value you will place inside a query string or path piece |
Whole-URL mode will not encode a percent code twice, which is the usual cause of the dreaded %2520. If you only have a value, choose One part, otherwise an ampersand in it would be read as the start of a new parameter.
The options and what each one changes
- Strict RFC 3986. Also encodes the exclamation mark, apostrophe, round brackets and asterisk, for systems that insist on it.
- Spaces as plus. The form style some servers expect in a query string. Decoding turns a plus back into a space when this is on.
- Each line on its own. Handy for a list of values pasted from a sheet.
- Character set. UTF-8 by default. Pick Windows-1252 to produce older single-byte codes.
- Auto, Encode, Decode. Auto decodes if the text already has % codes in it, and encodes if it does not.
The Decode again button appears when a decoded result still holds percent codes, which tells you the text was encoded twice.
How decoding copes with messy input
Real addresses are often broken. A stray percent sign that is not followed by two digits is kept in the output and reported, instead of making the whole decode fail. Text that is not valid UTF-8 is read as Windows-1252 unless you set the character set to UTF-8 only.
Paste a full URL or a bare query string and the parts are listed, with every parameter name and value decoded. It is a quick way to read a long campaign link without counting ampersands.
One link, taken apart
Take a campaign link with a source, a medium and a name that contains spaces and an ampersand. In One part mode, encode the name alone, and place the result after the equals sign. Then paste the finished address into the tool and read the parts list. Each parameter should show its name and the decoded value you meant.
- If a value is cut short, an unencoded ampersand is the likely cause.
- If a value shows percent codes after decoding, press Decode again.
- If accents turn into strange symbols, change the character set and compare.
Where this shows up in site work
Campaign parameters, redirect targets and form hand-offs all depend on clean encoding, and mistakes are easy to miss until a report shows missing data. When we connect forms, payment tools or analytics, we test the exact address that leaves the page. Our Webflow integration page describes those connections.
Frequently asked questions
What is percent-encoding?
It writes an unsafe character as a percent sign and the hexadecimal value of its bytes. A space is %20 and an ampersand is %26.
Should I encode the whole URL or just a value?
Encode only the value when you are building a query string, and use the whole-URL mode for a finished address that has stray spaces or accents.
Why do I see %2520 in my link?
It means a percent sign was encoded a second time. Decode once, check the result, and use whole-URL mode so existing codes are left alone.
What does a plus sign mean?
In form-style query strings a plus can stand for a space. In a path it is a plain plus, which is why the option is a switch.
Does it handle non-English characters?
Yes. Letters from any script and emoji are encoded as UTF-8 bytes by default.
Can I process many values at once?
Yes. Tick Each line on its own and every line is converted separately.
More free tools
- Base64 decoder and encoder: Decode Base64 to text or a file and encode text or files to Base64 and data URLs.
- Regex tester: Test a JavaScript regex with live matches, groups, a replace preview and an explanation.
- JWT decoder: Decode a JSON Web Token, read its claims and expiry, and check the signature with a key.
- Meta title and description checker: Count characters and pixels, preview the result and check many pages at once.
- JSON formatter: Format, minify, validate and repair JSON, browse it as a tree, or convert it to YAML or CSV.