Decode percent encoded URL values into readable text. Inspect a query value or path component without fetching its destination.
How to use
Paste the encoded component and read the decoded output. Correct incomplete percent escapes if the tool reports an error.
Example
Hello%20world becomes Hello world. %26 becomes &, which is a literal character in the decoded value.
FAQ
Does a plus sign become a space?
No. Plus signs remain literal. Form encoded query strings can use different rules, so check the format of your source.
Related tools
A practical task
Inspect one component rather than repeatedly decoding an entire address. An encoded ampersand can belong inside a query value, but after decoding it can look like a separator. Preserve the original URL when rebuilding a link for use.
Another useful question
Why does the second decoding pass fail?
A literal percent sign restored by the first pass can look like the start of a new escape. Decode the layer required by the source format, not until no percent signs remain.
Details for interpreting the result
| Detail | Explanation |
|---|---|
| URL components | A URL contains structure such as scheme, host, path, query, and fragment. Characters that separate those parts differ from characters inside a value. Encode the right component rather than transforming the full address blindly. |
| Percent encoding | A percent escape represents a byte with two hexadecimal digits. It does not describe a visible character directly. Several escapes can belong to one Unicode character encoded with multiple UTF8 bytes. |
| Query values | Query separators connect parameter names and values. An ampersand inside a value must not be confused with the separator between parameters. Build the URL with correct component encoding before sharing it. |
| URL fragments | A fragment points to a location within a resource and is normally not sent as part of the server request. It differs from a query parameter. Changing it does not necessarily create a different document for canonical selection. |
| UTF8 bytes | UTF8 encodes characters as bytes. Basic Latin letters use one byte each, while many accented letters and other scripts use more. A byte count therefore differs from a visible character count. |
| Encoding and encryption | Encoding changes how data is represented so another system can read it. It does not require a secret key. Encryption protects information with a key, while hashing produces a digest for a different purpose. |
| HTML character references | Character references such as & describe a character inside HTML. A reference can be escaped again when nested in another source. Decoding one layer is different from decoding every layer of a value. |