URL Encoder / Decoder
Percent-encode text for URLs or decode %20-riddled strings back into readable text — live.
Result
About this tool
URLs can only contain a limited set of characters. Everything else — spaces, ampersands, question marks, currency symbols, non-English letters — must be percent-encoded: a space becomes %20, & becomes %26, ₹ becomes %E2%82%B9. When you see a link full of % signs, this is what's happening; when a query parameter breaks because someone pasted raw text into it, this is what didn't happen.
This tool converts both directions, live as you type. Decoding turns unreadable analytics URLs, log entries and webhook payloads back into plain text (it also treats + as a space, the convention in form-encoded query strings). Encoding prepares text for safe use in a URL — and here the tool makes the distinction that trips people up: by default it encodes in component mode, escaping everything including / ? & =, which is correct when you're encoding a value going inside a query string. Tick "encoding a full URL" and it switches to preserving URL structure characters, correct when you're cleaning up a complete address.
Use the wrong mode and you either break your query parameters or double-escape your URL — the toggle plus its explanation prevent both. As always: entirely local, nothing uploaded.
How to use the URL Encoder / Decoder
- 1Choose Encode or Decode.
- 2When encoding, leave the checkbox off for values going into a query string; tick it only when encoding a complete URL.
- 3Type or paste your text — the result updates live.
- 4Click Copy to use it.
Frequently asked questions
What's the difference between encoding a component and a full URL?
Component encoding (default) escapes every special character including / ? & = — correct for a value inside a query string. Full-URL encoding preserves those structural characters so the URL still works as a URL. Encoding a full address with component mode breaks it; encoding a query value with full-URL mode leaves dangerous characters unescaped.
Why does %20 mean space, and what about the + sign?
Percent-encoding represents each byte as % followed by its hexadecimal value — a space is byte 32, hex 20. In form-encoded query strings, + is an older alternative for space, which this decoder also understands and converts.
Why did I get a 'malformed input' error when decoding?
Your text contains a % sign not followed by two valid hex digits — often the result of a truncated URL or text that was never actually encoded. Find the stray % and the decode will succeed.
Does this handle non-English characters?
Yes. Modern percent-encoding is UTF-8 based, so Hindi, emoji and every other script encode and decode correctly — ₹500 becomes %E2%82%B9500 and back again.
Related tools
Base64 Encode / Decode
Convert text to Base64 and back — UTF-8 safe, so emoji and non-English characters survive.
Open toolSlug Generator
Turn any title into a clean, SEO-friendly URL slug — live as you type, accents and symbols handled.
Open toolJSON Formatter & Validator
Format, minify and validate JSON instantly — with exact error positions when something's wrong.
Open toolRegex Tester
Test regular expressions live — matches highlighted in your text, capture groups listed below.
Open tool