Encode and decode URLs, privately
Percent-encode text so it's safe to drop into a URL — or decode %XX sequences back into readable text — for a whole link or just one query-string value. Everything runs on your device: 0 uploads, works offline, so the strings you paste (tokens, search terms, redirect URLs) never touch a server.
How to use it
- Paste your text or URL into the input box.
- Pick Encode to make it URL-safe, or Decode to turn
%XXback into readable characters. - Choose the scope: Component (default) escapes everything including
&,/and?— right for a single query value; Full URL preserves the characters that separate a URL, so a whole link stays valid. - The result updates live. Copy the output, or flip Encode/Decode to round-trip and check it.
FAQ
How do I URL-encode a string online?
Paste the text, keep the mode on Encode, and the URL-safe version appears instantly. Because it runs entirely in your browser, nothing is uploaded and there's no sign-up — it even works with your Wi-Fi off. Use Component scope for a value you'll put after = in a query string, like a search term or a redirect URL.
What's the difference between component and full-URL encoding?
Component (encodeURIComponent) escapes reserved characters like &, /, ? and =, so the value can't break the URL around it — use it for one query-string value. Full URL (encodeURI) leaves those separators intact so an entire address stays valid and clickable. Decoding mirrors the same two scopes.
Why do I get "That isn't valid percent-encoded text"?
Decoding needs every % to be followed by two hex digits (a valid %XX). A stray %, a truncated sequence like %E0%A4, or non-hex characters after a % will trip it — fix or remove the offending % and decode again.
Does it handle emoji and non-English text?
Yes. Unicode such as नमस्ते or an emoji is encoded as its UTF-8 percent bytes and decoded back exactly, so round-tripping is lossless. Everything is processed locally, so even long or sensitive strings stay on your device.
Limits
Encodes and decodes with the standard encodeURIComponent/encodeURI (and their decode pairs) — the same rules browsers use. It doesn't split a URL into parts, build query strings from key–value pairs, or Base64-encode; it's percent-encoding only. Malformed % sequences are reported, never guessed at.
Related
Pairs well with the JSON formatter and JWT decoder for inspecting API payloads once you've decoded a value.
Bookmark this page (Ctrl+D, or ⌘D on Mac) or install the app — it works offline the next time you need it.