Skip to content
§
§ · free tool

URL encoder & parser. Every link, taken apart.

Percent-encode or decode any string, or break a URL into protocol, host, path, query and fragment and edit its parameters with a rebuilt link that updates live — all on your device, nothing uploaded.

A free online tool by Digital Heroes
encoded result

Nothing leaves your browser — every conversion runs on your device.

encodeURIComponent or encodeURI — pick the right one

encodeURIComponent (the default) is for a single value going into a URL slot — a query-parameter value, a path segment, a fragment. It escapes / : ? & = # so a value containing those characters can't break URL parsing. Tick Whole-URL mode to switch to encodeURI, which keeps those structural characters intact — use it on a complete URL that already has correct structure but needs spaces or unicode escaped. Space always encodes as %20 (the RFC 3986 form), never +. Nothing you paste is uploaded; it works offline and is free forever.

§ 02 · what you can do

Everything a URL tool should do.

  • Percent-encode any string with encodeURIComponent — safe for query-parameter values and path segments that contain slashes, ampersands or spaces.
  • Encode a whole URL with the Whole-URL toggle (encodeURI) to escape spaces and unicode while keeping the URL structure parseable.
  • Decode percent-encoded text back to plain text in one click, with “Use result as input” to peel off layered, double-encoded URLs pass by pass.
  • Break any URL into its parts — protocol, username, password, hostname, port, path, query, fragment and origin — in a clean component table.
  • Edit query parameters live as key/value rows: change a value, add a key or remove a row and the rebuilt URL updates instantly.
  • Copy the rebuilt URL — correctly re-encoded and ready to paste into code, a doc or a browser address bar. Nothing is uploaded.
§ 03 · how to use it

Four steps, no manual.

  1. Pick a mode: Encode / Decode to convert text, or URL Parser to take a link apart.
  2. To encode, choose Encode or Decode, tick Whole-URL mode if you're working on a complete URL, then type or paste into the left box — the result appears live on the right.
  3. To parse, paste a URL (or hit Load sample). Read the Components table and edit the query parameters — add, change or remove rows.
  4. Hit Copy or Copy URL to grab the correctly re-encoded result.
§ 04 · faq

Frequently asked questions.

What's the difference between encodeURIComponent and encodeURI?
encodeURI keeps URL-structural characters (slash, colon, hash, question mark, ampersand) intact, so it's safe on a complete URL — the structure stays parseable. encodeURIComponent escapes all reserved characters including slash and ampersand, so it's safe on a single value that could contain them. Use encodeURI (the Whole-URL toggle here) for full URLs that already have correct structure but need spaces or unicode escaped; use encodeURIComponent for individual parameter values. The wrong choice causes the most common URL bug: an ampersand inside a value being read as a parameter separator.
Why does space sometimes encode as %20 and other times as +?
Both are legal in different contexts. RFC 3986 (the URI standard) says space should be %20, which is universally safe in a URL. The application/x-www-form-urlencoded format used by HTML form submission encodes space as +, but that's only correct in the query-string portion, not the path. This tool always encodes space as %20 because it's the universally correct form. When decoding a form-encoded string, swap each + for %20 first — the decoder treats a literal + as a plus sign.
How does the URL Parser edit query parameters?
Paste a link in URL Parser mode and the browser's URL engine splits it into protocol, username, hostname, port, path, query and fragment. Each query parameter becomes an editable key/value row with its value pre-decoded; repeated keys (?tag=a&tag=b) show as separate rows. Change a value, add a row or remove one and the rebuilt URL updates live, correctly re-encoded and ready to copy. Paste a URL without a scheme and the parser retries with https:// in front before reporting an error.
Which characters get escaped?
Per RFC 3986, the reserved characters are gen-delims (: / ? # [ ] @) and sub-delims (! $ & ' ( ) * + , ; =). Unreserved characters — A–Z, a–z, 0–9, hyphen, underscore, period and tilde — are never escaped. Anything outside the printable ASCII range (unicode) is always escaped. encodeURI leaves the gen-delims and sub-delims unescaped so URL structure survives; encodeURIComponent escapes all reserved characters except the unreserved set.
Does it handle internationalized domain names (IDN)?
The encode and decode modes percent-encode the path and query but don't convert the hostname. The URL Parser uses the browser's URL API, which normalizes a unicode hostname to its Punycode form — so pasting a link on münchen.de shows xn--mnchen-3ya.de in the hostname row. To convert a unicode hostname to Punycode in your own code, use Node's built-in url.domainToASCII or any Punycode library.
Is the URL I paste sent anywhere?
No. The tool uses the browser's native encodeURIComponent / decodeURIComponent and URL APIs, all running client-side on this static page. Nothing you type or paste is transmitted or logged, so it's safe for URLs containing API keys, tokens or session identifiers in the query string. It also works offline once loaded.

Published · Last updated .

Online now

Hey there 👋 How can we help you today?