{ }JSONKit.tools

URL Encode Online

Percent-encode text for a URL. Pick Component for a value going inside a query string, or Full URL to escape an address without breaking its structure.

Encode⇄Decode
Mode

Text

Encoded

Waiting for input…

About this tool

URL encoding replaces characters that a URL cannot carry literally with a percent and their UTF-8 byte values. The mode matters more than people expect: encoding a whole address in component mode escapes its own slashes and colons and produces something no server will route, while encoding a query value in full-URL mode leaves the & and = that will truncate it. Pick by what the text is — a value, or an address.

How to use it

  1. 1Paste the text or URL into the left panel.
  2. 2Choose Component for a query value, or Full URL for a complete address.
  3. 3Copy the result — decoding it back is one click away on the URL Decode page.

Frequently asked questions

›What's the difference between the two modes?

Component escapes everything that has a special meaning in a URL — & = ? / # : — because the text is going inside a value. Full URL leaves those characters alone so the address keeps its structure, and only escapes spaces, quotes and non-ASCII.

›Which one do I want for a query parameter?

Component, always. A value containing & or = would otherwise be read as the start of another parameter — the classic bug behind a search term that silently truncates.

›Why are spaces %20 and not +?

Percent-encoding uses %20 everywhere. The + convention belongs only to HTML form submissions (application/x-www-form-urlencoded), so use it only where a form body is expected.

›How is non-Latin text handled?

It is encoded as UTF-8 first, so each character becomes two to four percent-escapes. That is why Cyrillic or Chinese text expands so much once encoded.

›Are these characters really unsafe?

Unreserved characters — A-Z a-z 0-9 - _ . ~ — never need escaping. Everything else either has a reserved meaning or is not guaranteed to survive intact, so it is safer encoded.