Advertisement728 × 90 — Leaderboard
Advertisement320 × 50 — Mobile banner

URL Decode Online

Encode and decode URLs — Component, Full URL, and Form encoding modes
Also need:Base64 Encoder / DecoderJWT DecoderJSON Formatter
Input
Encoding:

encodeURI — encodes a complete URL, preserving its structure (scheme, ?, &, =, #)

Ctrl
Advertisement300 × 250
Advertisement728 × 90

About URL Decode Online

Encode text or URLs using the correct encoding mode for your use case: Component encoding (encodeURIComponent) for query parameter values and path segments, Full URL encoding (encodeURI) for encoding a complete URL while preserving its structure, or Form encoding (application/x-www-form-urlencoded) for HTML form submissions where spaces become +. Decode any percent-encoded string, with optional + as space decoding for form-encoded data. Supports live encoding, per-line mode, and auto-detects already-encoded input. 100% browser-side — nothing is sent to any server.

Frequently Asked Questions

What is URL encoding (percent-encoding)?
URL encoding converts characters not allowed or having special meaning in URLs into a % followed by two hexadecimal digits. A space becomes %20, & becomes %26. It ensures URLs remain valid when they contain arbitrary text, special characters, or non-ASCII content.
What is the difference between %20 and + in URL encoding?
Both represent a space, but in different contexts. %20 is percent-encoding (RFC 3986) and is correct in URL paths and fragments. + represents a space in application/x-www-form-urlencoded data (HTML form submissions and query strings). Using + in a path segment is a bug — it will be treated as a literal plus sign, not a space.
Which characters must be percent-encoded in a URL?
Characters outside the unreserved set (A–Z, a–z, 0–9, -, _, ., ~) must be percent-encoded in most URL components. Additionally, reserved delimiters (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) must be encoded when used as data rather than as URL structure. Spaces always encode to %20 in path segments.
What is the difference between encodeURI and encodeURIComponent in JavaScript?
encodeURI encodes a full URL — it leaves structural characters (: / ? # @ etc.) unencoded. encodeURIComponent encodes a URL component (a single parameter value or path segment) — it encodes everything except unreserved characters. Use encodeURIComponent for individual query parameter values; use encodeURI for a complete URL string.
Can I decode a URL that was double-encoded?
Yes. Double-encoding (%2520 is a double-encoded %) can happen when encoded data is encoded again. Decode once to get %25, then decode again to get %. This tool decodes one layer at a time. Double-decoding is sometimes a security concern (path traversal attacks), so verify the result is what you expected.
Advertisement300 × 250
Advertisement300 × 250
Ad
AdvertisementSticky banner
Ad
AdvertisementSticky banner