Skip to main content
Toollyz

Search tools

Search for a command to run...

URL Encoder / Decoder

Encode special characters for URLs or decode percent-encoded strings back into readable text — with component vs full-URI scopes and a built-in URL parts inspector. Free and private.

What is the URL Encoder / Decoder?

A URL Encoder/Decoder converts strings to and from percent-encoding so they're safe to use inside URLs. Toollyz URL Encoder/Decoder handles both directions instantly and lets you switch between component scope (encodeURIComponent — encodes every reserved character, ideal for query values and path segments) and full-URI scope (encodeURI — preserves `://?&=` so a whole URL stays valid). Decoding catches malformed percent escapes and surfaces a clear error. A live URL parts inspector breaks any pasted full URL into its protocol, host, port, pathname, search and hash, and lists each query parameter individually. Everything is computed in your browser — nothing is uploaded.

How to use it

  1. Paste a URL or text into the input box.
  2. Pick Encode or Decode, and choose Component or Full URI scope.
  3. Read the result live in the output box and copy it with one click.
  4. Scroll to the URL parts inspector to see protocol, host, path, query parameters and hash.

Benefits

  • Instant, live encoding or decoding as you type.
  • Component vs full-URI scopes for query values vs whole URLs.
  • Clear error message when a percent-encoded input is malformed.
  • Swap input and output with one click to chain conversions.
  • Char-count delta showing how many bytes encoding adds (or decoding saves).
  • URL parts inspector with protocol, host, port, pathname, search and hash.
  • Query parameter table that handles duplicates and special characters.
  • 100% private — encoding happens in your browser, nothing uploaded.

Frequently asked questions

What is URL encoding?

Also called percent-encoding, it replaces characters that are unsafe or reserved in URLs (spaces, slashes, &, =, ?, …) with a % followed by their hex code. Spaces become %20, & becomes %26 and so on — so the URL travels intact through the web.

What's the difference between Component and Full URI?

Component (encodeURIComponent / decodeURIComponent) encodes every reserved character — use it for query values, path segments and anything you embed inside a URL. Full URI (encodeURI / decodeURI) preserves :, /, ?, &, = and others — use it when you have a whole URL and want to keep its structure.

Which one do I want for query string values?

Component. If a value contains & or = or spaces, encodeURIComponent makes sure they don't break your query string. Use it once per value, not once on the whole URL.

Why did I get an error decoding?

decodeURIComponent throws if it sees a percent sign that isn't followed by two hex digits (a malformed %ZZ). The tool surfaces the exact error message; check for stray % characters or incomplete sequences.

Does it handle Unicode characters like emoji?

Yes. encodeURIComponent and decodeURIComponent are UTF-8 aware, so non-ASCII characters and emoji round-trip correctly.

Why does my % sign keep encoding as %25?

% is itself a reserved character — to represent a literal percent in a URL, it's encoded as %25. Encoding an already-encoded string a second time produces this kind of double-encoding; if you don't want that, decode first.

Can it parse a URL into components?

Yes. Paste a full URL into the input and the URL parts panel shows protocol, host, hostname, port, pathname, search and hash, plus a table of every query parameter.

What about + signs for spaces?

In query strings, both %20 and + are commonly used for spaces. encodeURIComponent uses %20 (the strict standard); some servers also accept +. Use Component encoding for safety.

Is anything sent to a server?

No. Toollyz has no server — encoding, decoding and parsing all happen in your browser. Your last input is saved only in your device's local storage.

Is this URL encoder/decoder free?

Completely free with no signup and no limits. Encode or decode as many strings as you like, privately in your browser.