URL encoder & decoder
Percent-encode text for URLs or decode percent-encoded strings back to readable text — instantly, privately.
About the URL encoder & decoder
Handytool's URL encoder percent-encodes text for safe use in URLs, query strings, and form data — and decodes percent-encoded strings back to readable text. Choose between component scope (encodes everything, including / and ?) and full URI scope (preserves URL structure). Everything runs in your browser, so you can encode API tokens, query parameters, or sensitive strings without privacy concerns.
URL encoder & decoder features
- 01
Component and full URI scopes
Use the component scope to encode a single query parameter value — it escapes every reserved character. Use the full URI scope to encode an entire URL while preserving /, ?, and # as structural separators. The result matches JavaScript's encodeURIComponent and encodeURI.
- 02
Two-way conversion
Switch between encode and decode with one click. Decoding unescapes %20, %3F, and every other percent-encoded sequence back to the original text, including non-ASCII characters.
- 03
Runs in your browser
Encoding uses the browser's native URL APIs. Your input never leaves your device — handy when you're working with tokens, credentials, or private parameters.
URL encoder & decoder FAQ
- What is URL encoding?
- URL encoding (percent encoding) replaces characters that have special meaning in URLs — spaces, &, =, ?, and non-ASCII — with a % followed by two hex digits. It lets you safely include arbitrary text in a URL or query string without breaking its structure.
- When should I use "component" vs "full URI" encoding?
- Use component scope when encoding a single query parameter value — it escapes every reserved character including /, ?, and #. Use full URI scope when encoding an entire URL — it preserves structural characters so the URL stays parsable.
- Does it handle Unicode characters?
- Yes. Unicode characters (emoji, Cyrillic, CJK) are first converted to UTF-8 bytes and then percent-encoded byte by byte, matching the standard %XX%XX format used by every modern browser.
- Is URL encoding the same as HTML encoding?
- No. URL encoding uses percent-encoding (%20 for space); HTML encoding uses entities (& for &). They serve different purposes — URL encoding protects URLs, HTML encoding protects HTML markup.
- Is my input stored anywhere?
- No. Everything runs locally in your browser using native JavaScript URL APIs. Nothing is uploaded, logged, or stored.
Related tools
Utility →- Live
Base64 encoder & decoder
Encode text to Base64 and decode Base64 back to text, including URL-safe Base64 — all in your browser.
UtilityRuns locallyOpen - Live
SHA & hash generator
Generate SHA-1, SHA-256, SHA-384, and SHA-512 hashes of any text, in hex or Base64 — all in your browser.
UtilityRuns locallyOpen - Live
UUID generator
Generate cryptographically random UUID v4 or time-ordered UUID v7 identifiers, one or many at a time — in your browser.
UtilityRuns locallyOpen
Explore other tools
All tools →- Live
PDF to JPG
Convert each page of a PDF into a sharp JPG, PNG, or WebP image right in your browser — no upload, no quality loss.
PDFRuns locallyOpen - Live
Remove background
Erase the background of a photo using an in-browser AI model — no upload, your images stay on your device.
ImageRuns locallyOpen - Live
Trim Video
Cut the start or end of a video with frame-level precision.
VideoOpen - Live
Trim audio
Cut a section of an audio file.
AudioRuns locallyOpen - Live
Markdown to HTML
Convert Markdown into clean HTML right in your browser.
DocumentRuns locallyOpen