Skip to main content

URL encoder help

How to use the tool?

  • Enter text on the left side to URL encode it
  • Enter percent-encoded text on the right side to decode it
  • The tool applies JavaScript's encodeURIComponent or decodeURIComponent to the whole input

What gets encoded?

Use it for data within a URL, such as a query value or a path segment. For example:

  • Space becomes %20
  • Ampersand (&) becomes %26
  • Equals sign (=) becomes %3D
  • Non-ASCII characters are encoded as UTF-8 byte sequences (e.g., ΓΌ becomes %C3%BC)

Entering a full URL encodes its separators too: https://example.com/ becomes https%3A%2F%2Fexample.com%2F. For domain-name conversion, use the Punycode converter.

Reserved vs unreserved characters

RFC 3986 defines two categories:

  • Unreserved characters can appear without percent-encoding: A-Z, a-z, 0-9, -, ., _, ~
  • Reserved characters can act as delimiters: :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =

JavaScript's encodeURIComponent leaves !, ', (, ), and * unchanged as well as the unreserved characters. Spaces become %20; decoding leaves a literal + unchanged, so this tool does not apply HTML form-decoding rules.

Standards

RFC 3986 (Uniform Resource Identifier) defines URI syntax and percent-encoding. The tool's character handling follows JavaScript's encodeURIComponent and its matching decoder.

Updated: September 7, 2026