URL Encoder & Decoder

Why URLs need encoding

A URL may only contain a limited set of characters, and several of those carry structural meaning: ? starts the query, & separates parameters, # starts the fragment. Anything else — a space, an ampersand inside a value, Hindi text, an emoji — has to be written as percent codes so it is not mistaken for structure.

Which mode to use

  • Component — for one value you are about to put into a URL. Escapes everything, including the structural characters.
  • Full URL — for an entire address you want to make safe without breaking it apart.

Share this tool with friends

Free to use, no sign-up, works on any phone.

Frequently Asked Questions

What is the difference between the two encoding modes?

Component mode escapes everything that is not a plain character, including & = ? and /. Full-URL mode leaves those alone because they are structural. Use component mode for a single value, full-URL mode for a whole address.

Why do spaces sometimes become %20 and sometimes +?

Percent-20 is correct in a path and works everywhere. The plus sign is a form-submission convention that only applies inside a query string, which is why a plus in a path means a literal plus.

My Hindi text turned into a long string of percent codes. Is that right?

Yes. Each Devanagari character is three bytes in UTF-8, and each byte becomes a percent code, so one letter becomes nine characters. Decoding gives you the original text back unchanged.

What does the parameter table show?

It splits the query string into its individual parameters and decodes each value, which is far quicker than reading a long URL by eye when you are debugging a redirect or a tracking link.

Is anything sent to a server?

No. It uses the browser's own encoding functions, so a URL containing a session token or a customer id stays on your device.

Everything on this page runs inside your own browser. Nothing you type or upload is sent to a server, so your data never leaves your device.