Menu

Language

Units

Changes the symbol and formatting. It does not convert amounts.

Theme

Suggest a tool

URL encoder and decoder

For putting text into an address without breaking it. The difference between encoding a value and encoding a whole URL is the bit that usually goes wrong.

Code Encoding and counting No sign-up

Your figures

Processed in your browser.
Some older servers treat these as reserved.

Result

Result
coffee%20%26%20cake
Characters
19
Encoded sequences
3
Length difference
6

What we assume

  • Processed in your browser. Nothing leaves your machine.
  • It uses encodeURIComponent and encodeURI, the standard ones. The difference between them is exactly the scope option.
  • A «+» is not treated as a space. That belongs to form encoding, not to URLs, and confusing the two corrupts data.
  • Text is encoded as UTF-8, which is what the current standard says for characters outside ASCII.

How it is calculated

Encoding a URL means replacing characters that carry special meaning — or that do not fit — with a % followed by their hexadecimal value. A space becomes %20, and an «ñ», which is two bytes in UTF-8, becomes %C3%B1.

Value or address: the decision that matters

If you are putting text inside a parameter, everything special has to be encoded, including /, ? and &: otherwise your value splits the URL in two. If what you have is the whole address, encoding those characters destroys it, because they are precisely its structure.

It is the most common mistake people arrive with, which is why we warn you when what you are encoding as a value looks like a whole address.

A «+» is not a space

In an application/x-www-form-urlencoded body, «+» means space. In a normal URL it is a literal plus. Treating them the same is a classic source of corrupted data, so here it is left alone and you get a warning.

An example

coffee & cake as a value becomes coffee%20%26%20cake: the «&» is encoded because, left alone, it would separate parameters. As a whole address, by contrast, the «&» is left intact.

Frequently asked questions

Which scope do I need?

If the text will be a parameter value — what comes after an = — pick «a value». If you are fixing a whole address with spaces or accents, pick «the whole address».

Why does decoding not turn «+» into a space?

Because in a URL a «+» is a plus. It only means space inside a form body, which is a different format. Confusing them corrupts data, so we would rather warn you.

What does the strict option do?

It also encodes !, ', (, ) and *, which the standard leaves alone but some older servers treat as reserved. If your URL works without it, you do not need it.

Does it work for a parameter containing a URL?

Yes, and that is exactly the «a value» case: an address inside another one has to be encoded whole, :// included.

Keep calculating

All tools →

Updated on 2026-09-02. Calculations run in your browser; nothing you type is sent to a server.

move · open · Esc close Missing one?