url

URL Encoder / Decoder

Percent-encode text for URLs, or decode it back.

Input
Output

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.