URL Decoder — Decode Percent-Encoded Strings

Paste any percent-encoded URL or string to decode it instantly back to readable text. The tool uses decodeURIComponent to handle all %XX sequences including Unicode multi-byte characters. Includes batch decode mode and a quick-reference table of the most common percent-encoding values. Used by developers, SEOs, and log analysts daily.

Start typing to decode…
URL Anatomy Breakdown
Start typing to encode…
Full Encoder Tool
Results will appear here…
Common Percent-Encoding Reference

How to Use the URL Decoder

  1. Paste the percent-encoded URL or string into the input box on the Decode tab.
  2. The decoded result appears instantly as you type.
  3. If the decoded value is a valid URL, the anatomy breakdown displays scheme, host, path, query, and fragment color-coded below the output.
  4. Use the Batch tab to decode multiple encoded URLs at once — one per line.
  5. Switch to the Encode tab if you need to encode a string instead, or use the full URL Encoder for advanced options.
  6. Refer to the Common Percent-Encoding Reference table below the tool for a quick lookup of the most frequent sequences.

Key Features

  • Instant decoding using decodeURIComponent as you type
  • URL anatomy breakdown for valid decoded URLs (scheme, host, path, query, fragment)
  • Batch decode mode — paste a list of encoded URLs and decode all at once
  • Quick-encode tab for simple encoding without switching tools
  • Common percent-encoding reference table for 28 frequent sequences
  • Clear error messages for malformed %XX sequences
  • One-click copy for decoded output

Use Cases

Decode percent-encoded URLs from server access logs

Apache and Nginx log request URIs in their raw percent-encoded form. Pasting log lines into this decoder reveals the actual paths and query parameters users requested — essential for analytics, debugging 404s, and understanding search behavior from query string data.

Read encoded OAuth redirect_uri parameters

OAuth flows frequently encode the redirect_uri parameter within the authorization URL. When debugging OAuth errors, paste the full authorization URL here to decode and read the redirect destination without manually decoding each %2F and %3A.

Decode UTM parameter values from campaign URLs

UTM-tagged URLs from email campaigns or ads sometimes contain encoded source, medium, or content values. Pasting the full campaign URL decodes all the parameter values simultaneously, making it easy to verify the correct tracking setup.

Batch decode a list of encoded API response URLs

API responses frequently return encoded next and previous pagination links or encoded resource URLs. Use the Batch tab to paste multiple encoded links and decode them all at once for inspection or documentation.

Decode internationalized domain names and paths

URLs containing non-ASCII characters — Cyrillic, Arabic, CJK, or accented Latin characters — are percent-encoded in their UTF-8 byte representation. This decoder correctly reconstructs the original Unicode characters from sequences like %E6%9D%B1.

FAQ's

This error occurs when the input contains a malformed sequence — for example, a lone % not followed by exactly two valid hexadecimal digits (0-9, A-F), or a multi-byte sequence like %80 that does not form valid UTF-8. Check the input for incomplete percent sequences or try decoding a smaller portion to isolate the problematic part.

Spaces are not allowed in URLs per RFC 3986. When a URL contains a space — in a search query, file path, or parameter value — it must be percent-encoded as %20. Some systems use + to represent spaces in form submissions, but %20 is the universally correct encoding. Paste any URL containing %20 here and it will be decoded back to a space instantly.

Yes. decodeURIComponent decodes all percent-encoded sequences including structural URL characters like %2F (/), %3F (?), %26 (&), and %3D (=). decodeURI leaves those structural characters encoded. This tool uses decodeURIComponent for maximum decoding — it will fully decode any percent-encoded string.

Yes. Unicode characters are encoded as their UTF-8 byte sequence, with each byte percent-encoded. For example, the Japanese character 東 (U+6771) is encoded as %E6%9D%B1 (three UTF-8 bytes: 0xE6, 0x9D, 0xB1). decodeURIComponent correctly reconstructs the original Unicode character from these sequences.

Modern browsers display decoded URLs in the address bar for readability. To get the raw encoded form, right-click the address bar and select "Copy link address" — this copies the encoded URL. Alternatively, open DevTools (F12) → Network tab, reload the page, click the first request, and the Request URL in the Headers section shows the encoded form.

%2B is the percent-encoding for a literal + character. A literal + in a query string (in application/x-www-form-urlencoded format) represents a space. This tool decodes %2B to + using decodeURIComponent. If you are decoding form-encoded data and need + converted to spaces, replace all + characters with spaces after decoding.

Yes. Click the Batch tab and paste one URL per line. All lines are decoded simultaneously and the results appear in the output area, one decoded URL per line in the same order as the input. Click Copy Results to copy all decoded URLs to your clipboard.

No. All decoding happens locally in your browser using JavaScript's built-in decodeURIComponent function. Your encoded URLs and the decoded results never leave your device. This makes it safe to use with sensitive URLs containing API keys, tokens, or internal paths.

Percent-encoded URLs appear constantly in development work — in server logs, OAuth flows, API responses, UTM campaign links, and browser network panels. Being able to decode them instantly saves time and prevents mistakes that come from manually guessing what %3A%2F%2F means. Toolaroid's URL Decoder handles everything from simple %20 space sequences to complex multi-byte Unicode paths, with a batch mode for log analysis and a reference table that doubles as a quick learning resource. No account, no tracking, no data sent anywhere.