URL Encoder / Decoder
Percent-encode text for URLs, or decode it back.
Encoded or decoded text appears here
Common questions
Is my text uploaded anywhere?
No. Percent-encoding and decoding run in your browser with the native URL functions, so nothing you paste is sent to a server.
What is the difference between component and full URL?
Component encodes a single value such as a query parameter or path segment, escaping everything special including & = ? / and spaces. Full URL keeps the characters that make a URL work (the :// and the / between segments) and only escapes the rest, so you can encode a whole address without breaking it.
How are spaces handled?
A space becomes %20. Note that this is not the same as the + used in older form submissions; this tool follows the percent-encoding the URL functions produce.
Why does decoding say the escape is broken?
A percent sign must be followed by two hex digits (for example %20). A lone % or something like %zz is not a valid escape, so the text cannot be decoded until it is fixed.
Does it encode Thai and other non-ASCII characters?
Yes. Non-ASCII characters are encoded as their UTF-8 bytes in percent form and decoded back to the original text, so Thai and other scripts survive the round trip.