URL Decode Online

Free URL decoder – decode and encode URLs instantly in your browser. Fast, private, no installation required.

0 characters
Decode
0 characters
Encode
UTF-8 SupportMulti-layer DecodingError DetectionClient-side Only

How to Decode URLs in 3 Simple Steps

  1. Paste Your URL

    Copy your encoded URL and paste it into the input field above.

  2. Instant Decoding

    The tool automatically decodes your URL in real-time as you type.

  3. Copy Result

    Click the copy button to save the decoded URL to your clipboard.

URL Decoder Features

  • Multi-layer Decoding

    Automatically detects and decodes multiple layers of URL encoding until the result is stable.

  • UTF-8 Support

    Full support for UTF-8 encoded characters, including international text and emojis.

  • Error Detection

    Identifies malformed URL encoding and provides clear error messages for debugging.

  • Privacy First

    All processing happens in your browser. Your data never leaves your device.

Understanding URL Encoding and Decoding

URL percent-encoding is a fundamental mechanism used to encode special characters in URLs. When you see characters like %20 or %26, these represent the percent-sign (%) followed by hexadecimal values that correspond to specific characters.

UTF-8 decoding is essential for handling international characters in URLs. Our tool fully supports UTF-8 encoded content, allowing you to decode URLs containing characters from any language, including Chinese, Japanese, Arabic, and emoji characters.

is crucial for web development. A URL consists of several parts: protocol, domain, path, query parameters, and fragment. Each component may require encoding when containing reserved characters like URL components ?, &, =, #.

REST API debugging. When working with APIs, you often encounter encoded query parameters or path segments. Being able to quickly decode these URLs helps identify issues in API requests and understand the actual data being transmitted.

You meet percent-encoding in far more places than the address bar. The query string of an OAuth redirect_uri, the deep link inside a push notification, the tracking link in a marketing email, and the path segment written into a web server log all carry encoded data. Decoding them by hand is slow and error-prone, which is why this page does the work for you as soon as you paste.

One detail that trips people up: in HTML form submissions (application/x-www-form-urlencoded), a + sign means a space. But in a percent-encoded URL, + is just a plus. That is why the same input can decode differently depending on where it came from — and why %2B exists for a literal plus in form-style data. This decoder follows the URL Standard: it decodes percent sequences and leaves + alone.

Common Percent-Encoded Characters

These eight sequences cover most of what you will see in real URLs. I verified every mapping in this table against the WHATWG URL Standard before publishing it.

EncodedDecodedWhere You See It
%20spaceThe classic. A typed space always becomes %20 in a URL.
%23#A literal hash. A raw # would start the fragment, so it is encoded when it is data.
%26&A literal ampersand. A raw & would split query parameters.
%3D=A literal equals sign. A raw = separates keys from values.
%3F?A literal question mark. A raw ? would start the query string.
%2B+A literal plus sign. In query strings many servers read a bare + as a space, so a real plus must be encoded.
%25%The percent sign itself. Always encoded, or the decoder would misread the sequence.
%2F/A forward slash inside a value. Servers often leave it raw in paths but not in query data.

Worked Example: Decoding a Real URL

Take this URL, the kind you might copy out of a browser address bar:

https://api.example.com/search?q=hello%20world&lang=zh%26en
  1. Split at the question mark

    Everything before ? is the path. Everything after is the query string, where each pair is separated by &.

  2. Decode each value

    The decoder reads the two values hello%20world and zh%26en and converts each percent sequence back to its character.

  3. Read the result

    q becomes hello world and lang becomes zh&en. The & inside zh%26en was data, not a separator — decoding restores it without breaking the structure.

The same decode in JavaScript:

const url = "https://api.example.com/search?q=hello%20world&lang=zh%26en";
const params = new URLSearchParams(new URL(url).search);
console.log(params.get("q"));    // "hello world"
console.log(params.get("lang")); // "zh&en"

Running this prints:

hello world
zh&en

One layer at a time. If a URL has been encoded twice you will see %2520 in the source. A first decode turns it into %20 and a second into a space. The decoder on this page detects those extra layers and resolves them for you.

URL Decode Online vs. Manual Decoding

You can decode a URL by hand, in a browser console, or in a server-side script. Here is how the common approaches compare:

MethodUTF-8Multi-LayerWhen to Use
URL Decode OnlineYesYes, automaticEveryday decoding: paste once, get the full decoded text, and any malformed sequence is flagged.
Reading codes by handSlowConfusingOnly realistic for single characters; %E4%B8%AD = 中 requires memorizing UTF-8 byte tables.
decodeURIComponent()YesNoQuick checks in the DevTools console; it throws a URIError on malformed input.
Python unquote()YesNoServer-side scripts and log pipelines; unquote_plus also converts + to space.
curl --data-urlencodeYesNoEncoding rather than decoding: handy for test requests, and it writes spaces as + form-style.

When You Need a URL Decoder

Percent-encoded strings show up in more workflows than just fixing a broken link:

  • Debugging REST APIs — copy a request URL from DevTools and read the actual parameter values before you change any code.
  • Reading tracking links — utm_campaign=summer%20sale becomes readable before you click.
  • Inspecting log files — web server logs store encoded paths; decoding them reconstructs the real requests.
  • Checking signed URLs — S3 and CloudFront presigned URLs encode keys and expiration values you need to verify.
  • Reviewing OAuth redirects — the redirect_uri parameter is encoded in authorization URLs; decode it to confirm the destination.

URL Decode FAQ

What is URL decoding?

URL decoding (also known as percent-decoding) is the process of converting encoded characters in a URL back to their original form. When data is transmitted via URLs, special characters are replaced with a percent sign (%) followed by two hexadecimal digits. For example, %20 represents a space character, and %26 represents an ampersand (&).

How to decode URL online for free?

Simply paste your encoded URL into the input field at the top of this page. Our tool automatically decodes the URL in real-time as you type, showing the result instantly. You can then copy the decoded result with one click. No registration, payment, or software installation required. You can also paste partially encoded URLs; the decoder keeps going until nothing further can be decoded and shows you how many layers it processed.

What is percent-encoding?

Percent-encoding (also called URL encoding) is a mechanism for encoding information in URLs using only the limited ASCII character set. Special characters are replaced with a percent sign (%) followed by their hexadecimal ASCII value. This ensures URLs can be safely transmitted across all systems without data corruption. For example, the emoji 😀 becomes %F0%9F%98%80 — its four UTF-8 bytes written out in hexadecimal.

Why do URLs need to be encoded?

URLs can only contain a limited set of ASCII characters. Special characters like spaces, ampersands, question marks, and non-ASCII characters (such as UTF-8 international text) must be encoded to be safely transmitted in URLs. This ensures URLs work correctly across all browsers, servers, and systems worldwide. Leaving these characters raw changes the meaning of the URL: & splits parameters, # starts a fragment, and many servers reject a raw space outright.

More URL Decoding Tools