I Help You

URL Decoder

Decode percent-encoded (URL-encoded) strings back to readable text — handles full UTF-8. Free, and it runs entirely in your browser — nothing you enter is uploaded.

How to use the URL Decoder

1. Paste a percent-encoded (URL-encoded) string into the input field. You can paste a full URL or just a component (query string, path segment, etc.).

2. The decoded result appears instantly — no button press needed.

3. Click Copy to copy the decoded output.

Tip: Both %20 and + represent a space in URL encoding. This tool decodes %20; to decode + as space, use the Query String Parser tool.

What is it?

URL percent-encoding (also called URL encoding) is defined in RFC 3986. Any character that isn't a safe URL character (A–Z, a–z, 0–9, -, _, ., ~) must be encoded as a percent sign followed by its two-digit hexadecimal ASCII code. A space becomes %20, an ampersand becomes %26, and emoji are encoded as multiple UTF-8 bytes each prefixed with %.

You'll encounter URL-encoded strings in query parameters (?q=hello%20world), API responses, server logs, OAuth redirect URIs, and JWT claims containing URIs. Decoding lets you read the actual intended value.

This tool uses the browser's native decodeURIComponent() function, which handles full UTF-8 sequences — including multi-byte characters, emoji, and CJK characters — correctly and safely.

Example

URL-Encoded String
https%3A%2F%2Fapi.example.com%2Fsearch%3Fq%3Dhello%20world%26page%3D1
↓
Decoded String
https://api.example.com/search?q=hello world&page=1

Only decode URL components (query values, path segments) — not an entire URL that will be used for navigation, as the decoded form may be structurally invalid.

Benefits

Pass data safely through any protocol

Encoded content — Base64, URL percent-encoding, HTML entities, Unicode escapes — travels through email, JSON, HTTP headers, and databases without corruption.

Decode any encoded string instantly

URL percent-encoding, Base64, HTML entities, Unicode escapes, JWT payloads — decode any format to readable text in one click, no library or script needed.

Copy-paste ready output for any context

Whether embedding content in a URL, HTML attribute, JSON string, or HTTP header — the correct encoding for each destination, immediately.

Eliminate encoding bugs before they reach production

Test encoding and decoding logic interactively with real inputs — catch character encoding mismatches and broken escaping before they cause user-facing errors.

Frequently asked questions

What is the difference between %20 and + for spaces?

In query strings (application/x-www-form-urlencoded), + represents a space. In path segments and most modern contexts, %20 is used. decodeURIComponent() only converts %20 to space — use the Query String Parser for + decoding.

Why does my URL-decoded output show garbled text for non-ASCII characters?

Non-ASCII characters (emoji, accented letters, CJK) are encoded as multiple percent-encoded UTF-8 bytes (e.g., 😀 = %F0%9F%98%80). This tool uses decodeURIComponent() which correctly reassembles UTF-8 sequences into the original character.

Is it safe to decode URLs here?

Yes — all decoding is done entirely in your browser using the native decodeURIComponent() function. No data leaves your device.

What is %2F and should I decode it in a URL path?

%2F is an encoded forward slash. In URL paths, %2F and / have different meanings — %2F is a literal slash character in a path segment, while / is a path separator. Avoid decoding %2F in paths you plan to navigate to, as it changes the URL structure.

How do I URL encode text? Where is the encoder?

Use the URL Encoder tool to convert plain text to percent-encoded format.