URL encoder (percent-encoding)

Paste a value or a whole address and get it percent-encoded, so spaces, accents and symbols travel safely inside a URL. Nothing is uploaded.

  • Free
  • No sign-up
  • Runs in your browser
url-encode

100% private — your text is processed in your browser and never sent to any server.

How it works

Paste your text

A search term, a parameter value or a whole address.

Pick what you are encoding

A value or parameter also encodes / ? & = #; a whole address keeps them.

Copy the encoded URL

The result updates as you type.

How to URL-encode text

To URL-encode text, paste it in the input box with Encode selected and choose whether it is a single value or a whole address. Characters that are not allowed in a URL, such as spaces, accents and symbols, are replaced by a percent sign and two hexadecimal digits: a space becomes %20 and über becomes %C3%BCber. It all happens in your browser.

What percent-encoding is

A URL can only contain a small set of characters. Anything else, including spaces, accented letters, emoji and characters with a special meaning such as & and #, has to be written as a percent sign followed by the hexadecimal value of each UTF-8 byte. That is why ü, which takes two bytes, becomes %C3%BC.

Encoding examples

Percent-encoding of common characters
CharacterAs a value (component)In a whole address
space%20%20
&%26&
=%3D=
?%3F?
/%2F/
#%23#
+%2B+
%%25%25
ü%C3%BC%C3%BC
ç%C3%A7%C3%A7
€%E2%82%AC%E2%82%AC
@%40@

Value or whole address?

Encoding a value, like the text that goes after q= in a search link, must also escape / ? & = and #, otherwise they would be read as parts of the address. That is what encodeURIComponent does in JavaScript. Encoding a whole address should keep those characters, because they give the URL its structure, and only escape the rest. That is encodeURI. The example https://example.com/search?q=über & naïve encodes as a value to %C3%BCber%20%26%20na%C3%AFve.

Common mistakes

  • Encoding twice. A % that is encoded again becomes %25, so %20 turns into %2520 and the link breaks.
  • Encoding a whole address as a value. The :// and the / are escaped and the link stops working.
  • Plus signs. In query strings a + can stand for a space, while in a path it is a literal plus. When in doubt, use %20 for spaces.

Private by design

The conversion runs in your browser. What you type, paste or drop is never uploaded, which matters when the text holds tokens, personal data or internal files.

Frequently asked questions

What is the difference between %20 and +?
Both can mean a space, but %20 works everywhere in a URL, while + means a space only in the query string of form data. Percent-encoding with %20 is the safe choice.
Which characters do not need encoding?
The letters A-Z and a-z, the digits 0-9 and the characters - _ . ~ are never encoded.
Does it handle accents and emoji?
Yes. Each character is first converted to UTF-8 bytes, and each byte is written as %XX, so any language and any emoji work.
Is this converter free?
Yes. There is no sign-up and no limit, and it runs in your browser, so nothing you type is sent to a server.
Does it work on a phone?
Yes. It works in any modern mobile browser, and the result updates as you type.