Skip to content

URL Decoder — Decode Percent-Encoded URLs Online

Free

Decode percent-encoded URLs and query parameters instantly. Converts %XX sequences back to readable text. Free, browser-based, no upload.

url decoderdecode urlpercent decode url
All Developer Tools

Settings guide

Decoding mode:

  • ·Decode component — Decodes all %XX sequences including structural characters (%3F?, %26&, %2F/). Use when decoding a single parameter value that may contain these characters.
  • ·Decode full URL — Decodes %XX sequences for non-structural characters while leaving ://, ?, &, and = intact. Use when decoding a complete URL to make it readable while preserving its structure.

+ sign handling:

  • ·Treat + as space — Decodes + to a space character. Use when the input is from an HTML form submission (application/x-www-form-urlencoded).
  • ·Treat + as literal + — Leaves + characters as-is. Use when the input is not form-encoded.

Format comparison

Decoded URL vs original URL: Decoding a URL for reading does not change the actual URL. The decoded version is for human inspection only — if you copy the decoded URL and make an HTTP request with it, the special characters may break the request. Encode again before using in a request.

URL decoding vs Base64 decoding: Percent-encoding and Base64 are both ways to represent data safely in ASCII text channels, but they serve different contexts. URL encoding is reversible character-by-character; Base64 encodes arbitrary binary into a fixed character set. A URL may contain a Base64-encoded parameter — in that case, decode the URL first, then decode the Base64.

How it works

1

Scan for encoded sequences

The input is scanned for % characters followed by two hexadecimal digits. Each sequence is identified as a candidate for decoding.

2

Validate sequences

Each %XX sequence is checked — XX must be valid hexadecimal (0–9, A–F, a–f). Invalid sequences (% followed by non-hex characters) are left unchanged.

3

Convert to bytes and characters

Each %XX is converted to its byte value. Multi-byte UTF-8 sequences (two or more consecutive %XX groups encoding a single Unicode character) are assembled and converted to the correct character.

4

Output the decoded text

The decoded string is displayed. Consecutive %XX groups that together represent a Unicode character are shown as a single readable character, not as separate decoded bytes.

About this format

URLs in browser address bars, server logs, and API responses are often percent-encoded — spaces appear as `%20` or `+`, special characters as `%3A` (`:`), `%2F` (`/`), `%40` (`@`). Paste a percent-encoded URL or query string and the decoded, human-readable version is shown instantly.

Common debugging uses: reading a redirect URL that has been embedded as a query parameter and encoded, decoding analytics tracking parameters, reading search query strings in access logs, and inspecting the actual content of a URL that was encoded before being sent to an API.

Frequently asked questions

What does %20 mean in a URL?+
%20 is the percent-encoded representation of a space character (byte value 0x20 in hexadecimal). Other common encodings: %2F is /, %3A is :, %40 is @, %3D is =, %26 is &, %3F is ?.
Why does my decoded URL still look strange?+
The URL may contain nested encoding (a URL encoded inside another URL's parameter), Base64-encoded segments, or custom application-level encoding. Decode in stages: first URL decode, then decode any Base64 values you find in the parameters.
Can I decode query parameters separately from the rest of the URL?+
Yes. Copy only the query string portion (everything after ?) and decode that. This avoids decoding structural URL characters in the domain and path that should remain encoded.
What is the difference between %20 and + in a decoded URL?+
Both represent a space, but in different encoding conventions. %20 is the RFC 3986 standard. + as a space character comes from the older HTML form encoding (application/x-www-form-urlencoded). Enable the + as space option when decoding form submission data.
Does this handle Unicode URLs (international domain names)?+
Yes. Unicode characters in URLs are UTF-8 encoded and then percent-encoded. The decoder reverses this: %D0%90 is decoded to its UTF-8 bytes, then assembled into the Cyrillic letter А. International domain names (IDN) use Punycode, which is a separate encoding scheme.

Related tools and guides