URL decoder
URL-decode text online to recover the original characters from percent-encoded data. This URL decoder (a.k.a. percent-decoder, URI decode tool) converts sequences like %20
, %2F
, %C3%A7
back to spaces, slashes, and Unicode letters—perfect for decode URL parameters, unescape URL strings, convert %xx to characters, and fixing double-encoded URLs.
What is URL decoding (percent-decoding)?
URL decoding reverses RFC 3986 percent-encoding, turning %HH
hex byte values back into their original bytes, then interpreting them as text (typically UTF-8). Use it to decode URL query strings, decode URL path segments, and clean up logs where characters were escaped (e.g., %E2%9C%85
→ ✅). If you searched for “URL decode online”, “percent-decoder”, or “URI decode vs decodeURIComponent”, this is the right place.
How to use the URL Decoder
- Paste an encoded string (a value, path piece, or full URL) or upload a text file.
- Select decoding mode:
- Component mode: decode a single parameter value (recommended for URL parameter decoder use cases).
- Whole URL mode: decode text but keep reserved delimiters like
:
,/
,?
,#
intact. - Form mode: treat
+
as space (forapplication/x-www-form-urlencoded
bodies and query strings).
- Click Decode to convert %xx sequences to characters, then copy or download the result.
When should you use it?
- Query strings: decode URL parameters from logs (e.g.,
?q=hello%20world
→ “hello world”). - Path segments: turn safe paths back to readable text (
/users/Caf%C3%A9%20Cr%C3%A8me
→ “Café Crème”). - API & webhook debugging: inspect percent-encoded JSON or IDs.
- Analytics: normalize campaigns where UTM values were URL-escaped.
Best practices & pitfalls
- Decode once: If you see
%2520
, it’s double-encoded (%25
= “%”). Use the double-encoding fixer option or decode twice carefully. - Choose the right charset: Modern URLs use UTF-8. If Turkish characters (ç, ğ, ş, ı, ö, ü) look wrong, the source may not be UTF-8.
- Plus sign handling: In query strings and form bodies,
+
means space. In strict RFC 3986 paths,+
is a literal plus. - Don’t over-decode: Reserved delimiters (
/
,?
,#
) may be intentional in full URLs—prefer component-level decoding.
Examples
Decode a query value (URL parameter decoder)
Encoded: q=%C3%A7%C4%B1%C4%9F%20testi%20%26%20d%C3%B6ner
Decoded: çığ testi & döner
Decode a path segment (unescape URL path)
Encoded path: /menu/Caf%C3%A9%20Cr%C3%A8me%2F2025
Decoded view: /menu/Café Crème/2025
Form mode (treat + as space)
Input: hello+world+%2B+coffee
Output: hello world + coffee
Emoji & non-ASCII (percent-decoder for Unicode)
Encoded: I%20love%20pizza%20%F0%9F%8D%95
Decoded: I love pizza 🍕
Code snippets (decodeURIComponent vs decodeURI and more)
// JavaScript (URL decode string online logic)
decodeURIComponent("a%26b%3D1%202"); // "a&b=1 2"
decodeURI("https://ex.com/a%20b"); // keeps delimiters, decodes %20 in path
// Node.js – parse query strings safely
const { URL } = require('url');
const u = new URL("https://ex.com/?q=%E2%9C%85&page=1");
u.searchParams.get("q"); // "âś…"
// Python
from urllib.parse import unquote, unquote_plus
unquote("%C3%A7%C4%B1%C4%9F") # "çığ"
unquote_plus("hello+world") # "hello world" (form mode)
// PHP
urldecode("a+b+%26+c"); # "a b & c" (form mode)
rawurldecode("Caf%C3%A9%20Cr%C3%A8me") # "Café Crème"
// PowerShell
[uri]::UnescapeDataString("T%C3%BCrk%C3%A7e%20%C5%9F%C4%9F")
FAQ
Why do I still see % characters after decoding?
They may represent a literal percent (%25
) or the string was double-encoded. Run decode again or use a double-encoding fixer.
What’s the difference between decodeURI
and decodeURIComponent
?
decodeURI
handles a full URL (keeps :
, /
, ?
, #
). decodeURIComponent
is for single values (query/path pieces) and decodes more characters.
Why do Turkish characters look broken after decode?
Likely a charset mismatch. Ensure the source used UTF-8 percent-encoding; otherwise you’ll see mojibake.
Related long-tail searches we cover
URL decode online, percent-decoder, URI decode tool, decode URL parameters, convert %20 to space, unescape URL string, decodeURIComponent vs decodeURI, decode URL path, fix double-encoded URL, UTF-8 URL decoder, URL percent decode