URL Encode / Decode
Client-sidePopularFeaturedNewPercent-encode text for URLs or decode encoded query strings — private and instant.
URL Encode / Decode applies percent-encoding (encodeURIComponent-style) in your browser so query and form values are safe in URLs.
Processed in your browser — data stays on your device
Key takeaways
- encodeURIComponent-style encoding
- Decode treats + as space
- Client-side — URLs are not uploaded
- Use Base64 Encode URL for opaque full-link blobs
What is percent-encoding?
Percent-encoding replaces reserved or non-ASCII characters with %HH sequences so they can appear in URLs and form bodies.
This tool matches encodeURIComponent behavior for components. It is different from Base64-encoding an entire URL. Incomplete % sequences fail decode with a clear error.
Features
Component encoding
Uses encodeURIComponent-style encoding for query and form values.
Plus-as-space decode
Treats + as a space when decoding form-style payloads.
Clear errors
Incomplete % sequences surface a helpful message.
Copy & download
Ship encoded values into URLs, curl, or tickets quickly.
How it works
Paste text or an encoded string
Use raw text for Encode, or a percent-encoded string for Decode.
Choose Encode or Decode
Encode escapes reserved characters. Decode restores readable text.
Copy into your URL
Paste the result into a query parameter or path segment.
Example walkthroughs
Spaces & punctuation
Encode produces hello%20world%20%26%20more.
hello world & more
Unicode
Non-ASCII characters become UTF-8 percent sequences.
naïve café
URL Encode vs Base64 Encode URL
| Goal | Tool |
|---|---|
| Escape a query parameter | URL Encode / Decode |
| Opaque Base64 of a whole URL | Base64 Encode URL |
| Embed UTF-8 text as Base64 | Base64 Encode / Decode |
Use cases
Build query strings
Encode parameter values before appending them to a URL.
Debug redirects
Decode mangled query strings from logs or analytics.
Form payloads
Inspect application/x-www-form-urlencoded fragments.
Code snippets
encodeURIComponent vs encodeURI
jsThis tool follows encodeURIComponent for query/form values.
encodeURIComponent("a=b&c"); // "a%3Db%26c" encodeURI("https://x/?a=b"); // leaves ? & = alone
Common errors
URIError: URI malformed
Cause: A % sequence is incomplete (e.g. %2 without a second hex digit).
Fix: Complete or remove broken percent escapes before decoding.
Spaces became + and look wrong
Cause: Form encoding uses + for spaces.
Fix: Decode here treats + as space; encode emits %20 for spaces.
About URL Encode / Decode
URL Encode / Decode applies percent-encoding (encodeURIComponent) so spaces, unicode, and reserved characters are safe in query strings and path segments.
Decode reverses the process. Processing stays on your device.
Frequently asked questions
Encode vs encodeURI?
This tool matches encodeURIComponent — it encodes characters that encodeURI would leave alone (like &, ?, =).
Why did decode fail?
Percent sequences must be complete (% followed by two hex digits). Truncated sequences throw an error.
Is my URL uploaded?
No. Encoding and decoding run entirely in your browser.
Related tools
Base64 Encode / Decode
Encode UTF-8 text to Base64 or decode Base64 back to text — instantly in your browser.
JSON Escape
Escape text into a JSON string literal, or unescape a JSON string back to raw text — instantly and offline.
Base64 Encode HTML
Encode HTML fragments and markup to Base64 for data URLs, emails, and embeds — decode back in your browser.
Base64 Encode JSON
Encode JSON payloads to Base64 for APIs, JWTs, and transport — decode back to UTF-8 JSON in your browser.
Base64 Encode Text
Encode plain text notes, messages, and Unicode strings to Base64 in your browser — private and instant.
Base64 Encode URL
Encode URLs and query strings to Base64 for opaque links and redirects — distinct from percent-encoding.
Popular tools
JSON Formatter
Format, beautify, and minify JSON in your browser. Free, private, and instant — no upload to a server.
JSON Validator
Validate JSON instantly in your browser. See type, size, and node counts — or exact parse errors with line and column.
JSON Viewer
Explore JSON as an interactive tree with paths, types, and expandable nodes — all processed locally in your browser.
JWT Decode
Decode JWT header and payload in your browser — inspect claims without uploading tokens.
Newest tools
UUID Generator
Generate UUID v4 identifiers in bulk — uppercase and hyphenless options, fully client-side.
Hash Generator
Generate SHA-1 / SHA-256 / SHA-384 / SHA-512 digests of text with Web Crypto — fully client-side.
JSON Compare
Compare two JSON documents structurally. Find added, removed, changed, and type-changed paths — privately in your browser.
JSON Diff
Generate a unified diff of two JSON documents after pretty-printing. Ideal for reading line-level changes quickly.
Explore more
Guides & articles
Base64 for developers: text, JSON, URLs, and what it is not
Learn when to Base64-encode text or JSON, how that differs from URL percent-encoding, and why Base64 is not encryption.
URL percent-encoding on the RS Roshi blog
Encoding tutorials and edge cases for url percent-encoding.
Privacy model
Why encoding tools process data only in your browser.