URL Encode/Decode
Open toolEncode or decode URL components safely.
Percent-encode text so it can be dropped safely into part of a URL — a query-string value, a path segment, a fragment — or decode a percent-encoded string back into readable text.
How it works
Encode uses the browser's encodeURIComponent. Every character except letters, digits and - _ . ! ~ * ' ( ) is replaced by % followed by its UTF-8 bytes in hex, so a space becomes %20, & becomes %26, and é becomes %C3%A9.
Decode uses decodeURIComponent and reverses that. Because this is component encoding, it is designed for one piece of a URL at a time, not a whole address.
How to use it
- Choose Encode or Decode with the toggle at the top.
- Type or paste into the box (labelled Text or URL when encoding, Encoded text when decoding).
- Click Encode or Decode.
- Use Copy to take the result, or read the red message if decoding failed.
Options & controls
Mode
- Encode / Decode
- Switches direction. Changing it clears the result and any error but leaves your input as it is.
Input and actions
- Input box
- The text to convert. Nothing runs until you click the action button.
- Encode / Decode button
- Runs the conversion. With an empty input it just clears the result.
- Reset
- In the title row. Returns to Encode mode and clears the input, result and error.
Result
- Result box
- Read-only output, shown after a successful run.
- Copy
- Copies the result to your clipboard. (There is no Download button for this tool.)
- Error message
- "That doesn't look like a validly encoded URL component." — shown when decoding text containing a malformed
%sequence, such as%E0%A4%Aor a lone%.
Tips & guidelines
- Encode only the value you are inserting, not the whole URL. If you encode
https://example.com/a?b=cin one go, the:,/,?and=are encoded too and the link stops working. Encodec, then put it afterb=yourself. - Use this to build query values that contain
&,=,#,?, spaces, or non-English text. - To read a link copied from a browser bar or an email, paste the messy part in Decode.
Limits
- A
+in the input is left alone when decoding. Some forms use+to mean a space; this tool followsdecodeURIComponent, which does not, so replace+with a space yourself first if you need that. - Spaces are always encoded as
%20, never as+. - It encodes text, not files, and there is no way to pick which characters are kept.
Saved in your browser
Nothing. Input and result exist only on the page.