Links

URL Decoder

Details

How to use URL Decoder

What the tool does, how to run it, and what to expect from the result.

How to decode a URL or query string

To decode encoded text, paste it into URL Decoder and pick the mode that matches where the text came from: a full URL, a query string, a single query value, or a path segment. The tool then percent-decodes the input, turning sequences like %20 back into spaces and %3D back into equals signs, and shows the readable result, ready to copy.

Mode matters because encoded text looks similar across these contexts but the safest decoding behavior is not identical. In query-oriented modes, a plus sign is treated as a space, which is the expected behavior for form data, while other modes leave it alone. Keeping the cases separate keeps the output trustworthy.

All decoding happens locally in your browser. The link or value you paste never leaves your device, which is useful for URLs that contain tokens, internal paths, or other sensitive parameters.

  • Reading tracking and redirect links that are heavily encoded
  • Inspecting query values copied from logs or analytics
  • Debugging API requests with encoded parameters
  • Confirming what a shortened or wrapped URL actually points to

What happens with broken encoding?

When URL Decoder encounters invalid or incomplete percent-encoding, it does not silently corrupt the output. Instead it keeps the broken segment visible and warns you, so you can see exactly where the problem is rather than getting a misleading result.

This is the reverse of the URL Encoder tool and shares the same mode structure, so you can move between encoding and decoding work safely. Picking the matching mode on each side keeps round-trips predictable.

Tips

Getting a better result out of URL Decoder

Specific settings and thresholds, not general advice.

  • Mode changes the result. 'Full URL' runs decodeURI, which deliberately leaves reserved-character escapes alone: %2F, %3F, %26, and %23 stay encoded so the URL structure survives. Switch to 'Query value' if you actually want those turned back into / ? & #.
  • 'Query value' treats a plus as a space, 'Path segment' does not. That difference is real, not a preference: in a query string a plus is the legacy space encoding, in a path it is a literal plus character, so /a+b and /a%20b are two different resources.
  • Percent-encoding is byte-based. One emoji is four %XX sequences and one Cyrillic letter is two, so decoded output is routinely a third the length of what you pasted. A short-looking string can hide a lot of text.
  • If the output still contains %2520 or %253A, you were handed double-encoded text. Decoding runs one pass per click, so paste the result back into the input and decode again.
  • Invalid input like %zz or a string that ends mid-escape is returned unchanged with a warning instead of throwing the whole value away. That is deliberate: it shows you exactly where the encoding was truncated, usually a URL that got cut off in a chat client or a spreadsheet cell.
Limits

What URL Decoder does not do

The honest boundary, so you do not lose time finding it yourself.

  • One decoding pass per run. Double-encoded input needs a second run.
  • No base64, HTML-entity, or unicode-escape decoding.
  • It does not detect which mode you need; you choose it.
  • It does not check that the decoded result is still a valid or reachable URL.
At a glance

Who URL Decoder is for

A quick way to understand who this helps, what it solves, and where it connects next.

Best fit

Marketers, frontend engineers, QA teams, and founders debugging links and copied query strings.

Ideal for

Decoding URL-safe text without guessing whether the input is a full URL, a query string, or a single value.

FAQ

Common questions

Short answers for the questions people usually have before trying a utility like this.

Does it treat plus signs as spaces?

Yes, in the query-oriented modes where that behavior is usually expected. Other modes leave plus signs as-is so the output stays accurate for that context.

What happens with broken percent-encoding?

URL Decoder keeps the invalid segment visible and warns you instead of silently corrupting the output, so you can see exactly where the encoding is broken.

Why are there multiple decoding modes?

Encoded text behaves differently in full URLs, query strings, query values, and path segments. Separate modes keep the decoded output safe and accurate for each context.

Does it upload my URL to a server?

No. URL Decoder runs entirely in your browser. The text you paste is decoded locally on your device and never uploaded.

Is it free?

Yes. URL Decoder is free to use with no account and no upload required.

Why did %2F stay as %2F after decoding?

You were in Full URL mode, which uses decodeURI. That function intentionally leaves escapes for reserved characters (/, ?, #, &, =, +, and others) alone, because decoding them would change the structure of the URL rather than its content. Switch to Query value mode to turn %2F back into a slash.

Why did my plus sign become a space?

In the query-oriented modes, plus signs are converted to %20 before decoding, which is how query strings have encoded spaces since the earliest HTML forms. Path segment mode does not do this, so use it when you are decoding something out of a URL path and the plus is meant to be a literal plus.

What does the warning about invalid encoded characters mean?

It means decodeURIComponent threw on your input, which happens when a percent is followed by something that is not two hex digits, or when the string ends in the middle of an escape sequence. Rather than dropping your text, the tool returns it unchanged and flags it. The usual cause is a URL that was truncated when it was copied.

Can it decode a whole query string with several key=value pairs at once?

Yes. Query string mode splits the input on & and on the first = of each pair, then decodes each key and each value separately. That is why an encoded %3D inside a value stays part of the value instead of being read as a new separator. Decoding the same string in one blob would corrupt exactly those cases.

Is anything uploaded when I decode a URL?

No. The decoding runs in your browser using the standard decodeURI and decodeURIComponent functions. That matters here more than for most tools, because encoded URLs frequently contain session tokens, reset links, and email addresses.

Why is the decoded output so much shorter than what I pasted?

Percent-encoding works on bytes, not characters. A single emoji is four bytes and therefore twelve characters of %XX, and any non-ASCII letter is at least two bytes. Decoding collapses all of that back into one character each.

Recommendations

You Might Also Like

Nearby tools from the catalog that fit the same job or workflow.

Cleanor app

Do it all on your device

Cleanor puts these tools in one app: compress and convert images, video, and audio, work with PDFs, and scan text right on your device. Plus free up storage and clear inbox clutter with Email Cleaner. Start with a free trial.

  • iPhone
  • Android
  • Macsoon
  • Windowssoon