URL Encoder, Decoder & Query Parameter Parser

Percent-encode and decode URLs and URI components according to RFC 3986. Edit query parameters interactively in a visual key-value table and rebuild URLs in real time. 100% client-side.
Source String / URL
Ready 0 chars
Processed Output
Encoded 0 chars
Interactive Query String Breakdown
Edit, add, or remove parameters below to reconstruct the full URL automatically:
Parameter Key Decoded Value Action
No query parameters detected in input.
Reconstructed Full URL
-
Common RFC 3986 Percent-Encoding Cheatsheet
Space %20 / +
! %21
" %22
# %23
$ %24
% %25
& %26
' %27
( %28
) %29
+ %2B
/ %2F
: %3A
= %3D
? %3F
@ %40

URL Percent-Encoding Standards: RFC 3986 & Web Architectures

A Uniform Resource Identifier (URI), governed by RFC 3986, defines the foundational syntax for locating web resources. Because URIs must be transmitted safely across diverse network protocols, proxies, and operating systems using a limited subset of the US-ASCII character set, characters outside this safe subset must be translated into hexadecimal sequences—a mechanism known as Percent-Encoding or URL Encoding.

1. Reserved vs Unreserved Characters

RFC 3986 formally partitions all characters into distinct syntactic classifications:

2. encodeURI vs encodeURIComponent

A classic bug in frontend web development is using the wrong encoding function:

Function Target Use Case Characters Left Intact
encodeURI() Encoding an entire URL without breaking protocol delimiters ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #
encodeURIComponent() Encoding a single query string key or value - _ . ! ~ * ' ( )

If you use encodeURI on a query parameter containing an ampersand (&), the character remains unescaped, causing the backend parser to split your single parameter into two separate keys.

3. The Space Character: %20 vs +

Confusion frequently arises regarding spaces:

4. Security Implications: Double Encoding & Traversal Attacks

5. Frequently Asked Questions (FAQ)

Why does JavaScript's encodeURIComponent not encode ! ' ( ) * by default?
In early RFC 2396 standards, those characters were classified as unreserved marks. However, RFC 3986 recommends percent-encoding them when used in contexts where they could be misinterpreted. Enabling "Strict RFC 3986" in this tool encodes these characters to guarantee complete compliance across all API gateways.
Can I decode non-ASCII UTF-8 strings?
Yes. UTF-8 multi-byte characters (such as emojis or non-Latin alphabets like 中文 or é) are percent-encoded into sequences of 2 to 4 byte hex pairs (e.g. %E4%B8%AD%E6%96%87). This tool safely decodes multi-byte UTF-8 sequences without character corruption.
Does this tool send my URLs or tokens to a backend server?
No. All parsing, encoding, decoding, and query string manipulation executes 100% locally in your web browser. No URLs, query parameters, or authorization tokens are ever transmitted across the network.

Security Verification

Copied to clipboard!

We use cookies to enhance your browsing experience, serve personalized ads, and analyze traffic in compliance with GDPR and CCPA. Read our Privacy Policy.