URL Encoder and Decoder
Encode a value for a query string, or a whole address, and see exactly which characters changed.
- Input
- URL · text
- Output
- Encoded · decoded
- Processing
- In your browser
- Cost
- Free · no sign-up
Input
One value inside a URL — a query parameter, a path segment, a form field. Escapes the reserved characters / ? : @ & = + $ , # so the value cannot break out of its slot.
Encoded value
LiveShown decoded, so a query value reads as itself. This describes what you entered — it never changes the result above.
Your data is processed locally in your browser and is never sent to Nekhen.
About this tool
A URL may only contain a limited set of characters. Everything else — spaces, accented letters, ampersands inside a value — has to be written as a percent sign followed by two hexadecimal digits. That is percent-encoding.
There are two different jobs here, and using the wrong one is the single most common cause of a link that works until somebody searches for something with an `&` in it. Encoding *one value* must escape the characters that hold a URL together. Encoding *a whole address* must leave them alone. This tool makes that a visible choice rather than a hidden default.
Steps
How to use it
- Choose encode or decodeThe same box handles both directions.
- Choose what you are encodingComponent for one query value or path segment; Whole URL for a complete address.
- Paste your valueAccented letters, emoji and other Unicode are all handled.
- Copy the resultThe parts breakdown beside it shows the address you are building.
Real situations
Common uses
- Building a share or tracking link where the target URL sits inside a query parameter
- Reading a redirect URL out of a long analytics or sign-in link
- Fixing a link that breaks whenever the search term contains & or #
- Checking what a percent-encoded path in a server log actually points at
Privacy
Files are processed locally in your browser and are never uploaded to Nekhen. Every calculation runs on your own device, so we never receive the contents of your file, never store it and never log it. Closing the tab clears everything from memory. More detail on the privacy page.
Common questions
Frequently asked
What is the difference between the two modes?
Component mode escapes the reserved characters / ? : @ & = + $ , # so your value cannot break out of the slot it sits in. Whole-URL mode leaves those characters alone, because in a complete address they are the structure, and only escapes things that are genuinely unsafe such as spaces. If you are encoding one parameter, you want Component.
Why does the encoder escape brackets and apostrophes?
The browser built-in leaves ! ’ ( ) * unescaped — they were "mark" characters in the older URL specification. The current standard reserves them, and an unescaped bracket is a known cause of a link that breaks when it is auto-detected in a chat app. Escaping them is always valid and always decodes back to the same text.
Why is a plus sign not decoded as a space?
Because in a URL it is not one. Only HTML form submissions use + for a space; in the URL standard a space is %20. Silently converting one to the other would corrupt any value that genuinely contains a plus, such as a phone number or an email alias.
Does it handle non-English characters?
Yes. Percent-encoding is defined over UTF-8 bytes, so accented letters, non-Latin scripts and emoji all encode and decode back to exactly what you started with.
Is anything sent to a server?
No. Encoding and decoding are string operations that run in your browser. The URL you paste is never sent to Nekhen and is never logged.
More tools