ToolHub.

URL Encoder / Decoder

Percent-encode text for safe use in URLs, or decode an encoded URL back to readable text. Instant, free and fully in-browser.

How to use the URL Encoder / Decoder

  1. Choose Encode or Decode.
  2. Paste your text or URL into the input box — the result updates as you type.
  3. Use "Encode component" for query-string values, which also encodes characters like /, ? and &.
  4. Click Copy to grab the output.

About this tool

URLs may only contain a limited set of ASCII characters. Everything else — spaces, quotes, non-Latin letters, emoji — must be percent-encoded, which is why a link to “münchen restaurants” becomes m%C3%BCnchen%20restaurants in your address bar.

This tool works in both directions: encode raw text so it survives inside a link or query parameter, or decode an encoded URL to see what it actually says — useful when debugging redirect chains, UTM parameters or webhook payloads.

The two encode modes match the two JavaScript primitives underneath: full-URL mode (encodeURI) preserves URL structure, while component mode (encodeURIComponent) escapes everything and is what you want for individual parameter values.

Frequently asked questions

What is the difference between encoding a URL and a component?
Encoding a full URL keeps structural characters like :, / and ? intact. Encoding a component escapes those too — use it for individual query-string values.
Why do spaces become %20 and not +?
Percent-encoding defines %20 for spaces. The + form is a legacy convention only valid inside query strings; %20 is safe everywhere.
Why does decoding sometimes fail?
A % sign not followed by two hex digits is malformed. Decode fails rather than guessing, so you know the input was corrupted.

Related tools