URL Encoder / Decoder

Encode strings to RFC 3986 URL format.

Developer Tools
Tool Area

About this tool

URL Percent-Encoding (also referred to as URL Parameter escaping) is a standardized mechanism to convert characters containing specific reserved syntactic configurations into clean, browser-compliant structures (defined inside RFC 3986 guidelines).

Percent-Encoding Architecture

Any byte values that do not map directly to safe ASCII parameters are translated into a percent sign followed by their corresponding two-digit hexadecimal representation:

%XX

Where:

  • XX represents the unique hexadecimal value of the character's internal character code.

This prevents the browser's parameter analyzer from incorrectly interpreting spaces, ampersands (&), and question marks (?) as active parameter separation nodes.

Frequently asked questions

Everything you need to know about URL Encoder / Decoder.

What is the difference between URL encoding and HTML encoding?

URL encoding (percent-encoding) converts special characters into %XX sequences so they are valid within a URI, following RFC 3986. HTML encoding converts characters like < and & into HTML entities (&lt;, &amp;) for safe rendering in an HTML document. Both solve different problems in different contexts.

When should I encode a full URL versus just the query parameters?

Encode only the query parameter values — not the entire URL. Encoding the full URL would also encode the protocol separators (://) and path slashes (/), breaking the URL structure. The tool provides a decode mode to let you preview the result.

Does it encode Unicode and non-ASCII characters correctly?

Yes. Non-ASCII characters (Chinese, Arabic, emoji, etc.) are first encoded to UTF-8 bytes, then each byte is percent-encoded. This follows RFC 3986 and is compatible with all modern browsers and web servers.

What standard does the URL encoder follow?

The encoder follows RFC 3986, which is the current standard for URI syntax. It encodes all characters outside the unreserved set (A–Z, a–z, 0–9, -, _, ., ~) in the value context.

Is my URL data sent anywhere?

No. Encoding and decoding happen entirely in your browser using the native encodeURIComponent and decodeURIComponent JavaScript APIs. No data is sent to any server.

Related tools