RFC 3986 Percent-Encoding

Free URL Encoder & Decoder Online

Encode special characters into %XX percent-escapes or decode them back to plain text. Live preview, multiple modes, 100% browser-based.

Input — Plain text
Output — Encoded
0 input chars 0 output chars +0 Δ 0 percent-encoded
Decoding error Invalid percent-encoding sequence detected.
Encoding Mode
Live processing
Try an example

3 Encoding Modes

Component, full URI, or strict RFC 3986 — pick what fits your context.

Live Processing

Output updates instantly as you type. No Submit button required.

Recursive Decode

Handle double or triple-encoded URLs in one click.

100% Private

Everything runs in your browser. No data is ever sent to a server.

What is URL Encoding?

URL encoding (also called percent-encoding) is the way special characters are represented in URLs so they can be safely transmitted over the internet. Defined by RFC 3986, it replaces unsafe characters with a percent sign followed by two hex digits — for example, a space becomes %20.

encodeURI vs encodeURIComponent

JavaScript provides two built-in encoders, and choosing the wrong one is one of the most common URL bugs:

encodeURI() assumes the input is a complete URL and preserves reserved structural characters like :, /, ?, #, and &. Use it when encoding an entire URL.

encodeURIComponent() assumes the input is a single piece of a URL — like a query parameter value — and aggressively encodes everything that isn't unreserved. Use it for individual components.

Common Characters & Their Encodings

CharacterEncodingNameUsed in
(space)%20SpaceAnywhere in a URL
!%21ExclamationSub-delim, encoded by component
"%22Double quoteAlways encoded
#%23Hash / fragmentReserved — fragment identifier
&%26AmpersandReserved — query param separator
/%2FSlashReserved — path separator
:%3AColonReserved — scheme/port separator
?%3FQuestionReserved — query string start
@%40At signReserved — userinfo separator
+%2BPlusMeans space in form-data
=%3DEqualsReserved — key/value separator

When should I use this tool?

Building API request URLs with special characters in query strings, debugging encoded redirect URLs, decoding tracking links to inspect parameters, escaping user input for use in href attributes, and processing URLs from logs that have been encoded multiple times.

Copied!