Modern Niche World MNW

URL Encoder and Decoder

Encode text for a link or decode a percent-encoded one, as a component, a whole URL or form data, or split a URL into its host, path and query parameters.

What to do

Up to 10,000,000 characters. Nothing you paste is visited or sent.

Everything runs on your device: what you paste never leaves it, nothing is saved, and the URL is never opened.

Percent-encoding without the guesswork

A URL can carry only a limited set of characters. Spaces, accents, emoji and characters that have a job in the URL itself (such as ? & = #) must be percent-encoded: each byte of their UTF-8 form becomes a % and two hex digits, so a space becomes %20 and é becomes %C3%A9. This tool encodes in each of the three ways the web uses, decodes back, and takes a full URL apart so you can read every parameter.

How to use it

  1. Choose Encode, Decode or Split a URL into parts.
  2. For encoding or decoding, choose the style: Component, Whole URL or Form data.
  3. Paste your text or URL. The result appears as you type.
  4. Copy or download the result. For a split URL, copy the parts as JSON.

The three styles

  • Component works like JavaScript’s encodeURIComponent: everything except letters, digits and - _ . ! ~ * ' ( ) is encoded. Use it for a single query value or path segment.
  • Whole URL works like encodeURI: it also leaves ; , / ? : @ & = + $ # alone, so a full address keeps its structure. When decoding, it keeps those characters encoded, so a %2F inside a path stays %2F.
  • Form data is application/x-www-form-urlencoded, what HTML forms send: spaces become +, and only letters, digits and * - . _ stay as they are.

Reading a URL

Split a URL into parts shows the scheme, any user name and password, the host, port, path and fragment, and a table of query parameters, each decoded with + read as a space. It shows the URL exactly as written, without the changes a browser would make, and points out repeated parameter names, an invalid port and a password in the link. Copy the parts as JSON to get the same breakdown as data, with the query as a list, since a name can repeat.

Good to know

  • Encoding twice is a common bug: %20 becomes %2520. The tool warns you when the text is already encoded.
  • Malformed sequences never stop decoding: each is listed with its character position and left as it was.
  • Long text is fine: up to 10 million characters. The output box shows the first million; Copy and Download use all of it.
  • Sharing a link on paper? Make a code for it with the QR Code Generator. To tidy a long list of links, use Remove Duplicate Lines.
  • Everything runs on your device: nothing is sent or saved, and the URL is never visited.

Frequently asked questions

Component or whole URL: which should I use?
Use Component for one piece that goes inside a URL, such as a search term or a file name in a path: it encodes / ? & = too, so they can’t break the link. Use Whole URL for a complete address that just has spaces or accents in it: it keeps the characters that give a URL its structure.
Why do spaces sometimes become + and sometimes %20?
Both mean a space, in different places. HTML forms send their fields with spaces as +, and many query strings follow that. In a path, + is a literal plus sign and a space must be %20. Choose Form data when you need the + style.
What does “malformed sequence” mean?
Every % in encoded text must start a three-character escape such as %20. A lone % (as in “50% off”), a % followed by something other than two hex digits, or bytes that don’t form UTF-8 text can’t be decoded. The tool lists each one with its position and leaves it as it was.
Is the URL I paste sent anywhere?
No. Everything runs in this page, on your device, and nothing is saved. The page never visits the URL or checks whether it works, so it’s safe to paste links that hold tokens or private details.