URL Encoder / Decoder
Percent-encode text for safe use in URLs and query strings, or decode it back to plain text.
Plain text
URL encoded
What this tool does
Percent-encodes text so it can travel safely inside a URL, and decodes it back again. Results update as you type.
Why encoding matters
A URL has structure: ? starts the query, & separates parameters,# starts the fragment. If your data contains those characters and you don't encode it, the server reads them as structure instead of content — so?q=fish&chips silently becomes two parameters rather than one value.
Which encoding this uses
This tool uses encodeURIComponent, which escapes everything that isn't safe in a URL value, including &, =, ?, and/. That is what you want for a query parameter or path segment. It is not the right choice for encoding a whole URL at once, since that would escape the delimiters you need to keep.
%20 versus +
You will see both for a space. The + form belongs to the olderapplication/x-www-form-urlencoded format used by HTML form submissions;%20 is correct in a URL path or query and is accepted everywhere. This tool emits%20.
FAQ
What is URL encoding?
URLs may only contain a limited set of ASCII characters. URL encoding, also called percent-encoding, replaces everything else with a % followed by its hexadecimal byte value — a space becomes %20, and a Korean character becomes several percent-escapes. It is what lets arbitrary text travel safely inside a link.
When do I need this?
Any time text goes into a URL: search queries, redirect targets, API parameters, or form values. Without encoding, characters such as &, ?, =, and # are read as URL structure rather than data, which silently truncates or corrupts the value.
Why do spaces sometimes become + instead of %20?
The + form comes from the older application/x-www-form-urlencoded format used by HTML forms. In the path or query of a modern URL, %20 is correct. This tool uses %20, which is safe in both positions.
Does this handle non-English text?
Yes. Text is encoded as UTF-8 before percent-escaping, which is what every modern browser and server expects, so Korean, emoji, and accented characters round-trip correctly.
Is my data sent anywhere?
No. Encoding and decoding run entirely in your browser using built-in functions. Nothing is uploaded, logged, or stored.