URL Encoder / Decoder
Percent-encode or decode URLs and query strings.
Use on any page (bookmarklet)
Want URL Encoder / Decoder without leaving the page you're on? Drag the button below to your bookmarks bar, then click it on any website to open URL Encoder / Decoder right there — it runs entirely in your browser.
Use responsibly: a bookmarklet runs on whatever page you click it on. Avoid sensitive sites such as online banking, payment, or healthcare pages — you run it at your own risk. Everything is processed locally and no data is sent anywhere. See our Terms.
- Show your bookmarks bar if it's hidden — Ctrl+Shift+B (⌘+Shift+B on Mac).
- Drag the button above onto the bookmarks bar.
- Open any website and click the bookmark — the URL Encoder / Decoder panel appears in the top-right corner. Use ✛ to move it between corners, or ›/‹ to tuck it against the edge and pull it back out.
- Click the bookmark again (or the ✕) to close it.
Note: a few sites with strict security policies may block bookmarklets.
Examples
Encode a query value (Component)
Input
hello world & friends
Output
hello%20world%20%26%20friends
Encode a full URL (Full URL)
Input
https://x.com/search?q=cafe del mar
Output
https://x.com/search?q=cafe%20del%20mar
Decode percent-encoding
Input
%E2%9C%93%20done
Output
✓ done
About this tool
This free online URL encoder and decoder percent-encodes text for safe use in URLs and query strings, and decodes it back to readable text — all in your browser with no upload. Switch between Encode and Decode and the result updates live as you type.
How to use
- Pick Encode or Decode.
- Choose Component for a single value, or Full URL to keep a whole URL's structure.
- Type or paste your input (or click Sample), then Copy the result.
- Use Swap to feed the output back and flip direction.
Component vs. Full URL — which to pick
This is the choice that trips people up, so here's the rule:
- Component escapes everything special, including
: / ? & # =. Use it for a single value — one query parameter, one path segment. - Full URL preserves the characters that give a URL its structure, so a complete address stays clickable while spaces and accents are still encoded.
Rule of thumb: encoding one piece that goes into a URL? Component. Encoding a whole URL? Full URL. Choosing Full URL for a single value is the usual reason an & or ? in the value later breaks the link.
Common tasks
- Encode a search term before dropping it into a
?q=parameter. - Encode a redirect URL that's passed as a query value (a URL inside a URL).
- Fix a link that broke on a space by replacing it with
%20. - Decode a percent-encoded URL from a log to read it.
Tips & gotchas
- A space may appear as
%20or, in form data, as+. Both mean space;%20is always safe. - Don't double-encode: encoding an already-encoded value turns
%20into%2520. Decode first if unsure. - Non-English characters encode as UTF-8, so one character can become several
%xxpairs.
To pull apart every parameter in a query string, try the query string parser, and for the full concept see our guide to URL encoding.
Frequently asked questions
Is this URL encoder free?
Yes — it's a completely free online URL encoder and decoder with no sign-up. Encode or decode as much as you like.
Is my data uploaded anywhere?
No. Everything runs in your browser with no upload, so your URLs and data never leave your device.
What's the difference between Component and Full URL?
Component uses encodeURIComponent and escapes every special character — use it for a single query value or path segment. Full URL uses encodeURI and preserves structural characters like : / ? & #, so a complete URL stays usable.
What is percent-encoding?
It's the way URLs represent reserved or non-ASCII characters using a percent sign and two hex digits — for example, a space becomes %20 and an ampersand becomes %26.
Why did decoding fail?
Decoding fails when the input contains an invalid percent-escape, such as a lone % or an incomplete sequence like %2. Fix or remove the stray character and try again.
How do I encode a query string parameter?
Choose Encode and the Component mode, then paste the value. Component mode escapes &, =, ?, and other characters that would otherwise break the query string.
Does it handle non-English characters?
Yes. Characters such as accented letters, Korean, or emoji are encoded as UTF-8 percent-escapes and decode back correctly.
Learn more
Base64 Encoding Explained: What It Is and When to Use It
GuideCharacter Encoding: Unicode and UTF-8 Explained
GuideURL Encoding Explained: Percent-Encoding and When You Need It
GuideWhat HTTP Status Codes Mean (200, 301, 404, 500 and More)
ReferenceHTTP Status Codes: The Complete Reference
ReferenceMIME Types Reference: Content Types by File Extension
ReferenceHTTP Headers Reference: Request and Response Headers
ReferenceHTTP Methods Reference: GET, POST, PUT, DELETE and More
Related tools