Skip to content

URL encoder & decoder

Convert text to percent-encoded form and back, choosing between component mode (for a single query value) and full-URL mode (which preserves / : ? & so a whole URL still works). Paste a query string below to see every parameter broken out into a readable table.

  • Nothing you type leaves this page
  • Works offline once loaded
  • Free forever, no signup
{{ mode === 'encode' ? 'Encoded out' : 'Decoded out' }}

ParameterDecoded value
{{ row.key }} {{ row.value }}

How to use this tool

  1. Paste text or a URL

    The encoded or decoded result appears instantly as you type.

  2. Choose the scope

    Component mode for a single query value; Full URL mode to keep the URL's structural characters intact.

  3. Inspect query parameters

    Paste a full query string into the parameter table to see each key and its decoded value on its own row.

Questions people ask

What is URL encoding?

URLs can only safely contain a limited set of characters. Anything else — spaces, accented letters, symbols — is rewritten as a percent sign followed by two hex digits, so a space becomes %20. This keeps a URL unambiguous to every server and browser that reads it.

What is the difference between encodeURIComponent and encodeURI?

encodeURIComponent (Component mode here) escapes everything, including / and &, which is correct for a single value going inside a query string. encodeURI (Full URL mode) leaves those structural characters alone so an entire URL still parses correctly after encoding.

What does %20 mean, and why do some URLs use + instead?

%20 is an encoded space in a URL path or standard percent-encoding. Inside an application/x-www-form-urlencoded query string, a literal + is also accepted as a space — the parameter table above decodes both forms correctly.

Can this handle Hindi or other non-English text in a URL?

Yes — non-ASCII characters are UTF-8 encoded into multi-byte percent sequences, exactly the way a browser encodes them when you type a non-English search into the address bar.

Is anything I paste here sent to a server?

No. The whole tool is JavaScript running in your browser, and this site has no endpoint that accepts text. That matters when what you are pasting is a real API payload, a customer record, or a password.

Why does decoding fail with a malformed-sequence error?

decodeURIComponent throws when a % is not followed by two valid hex digits — usually because a % sign in the original text was never encoded to %25 in the first place. The error points at the exact position so you can find the stray character.

Bookmark this page — the tool keeps working offline, and your settings stay in this browser. Built by Dynamb Technologies, who make software for a living.