Skip to content
Skip to main content
Free · No Signup100% Browser-basedUnlimited

URL Encoder / Decoder

Encode and decode URLs, query strings, and form data with percent-encoding. Convert special characters to %XX or + form, preserve URL structure, and safely decode invalid input. 100% browser-based, free, no signup.

Instant
100% Private
No Limit
Any Device
0 chars
0 chars

RFC 3986 Percent-Encoding

Implements standard percent-encoding via encodeURIComponent and encodeURI. Reserved and unsafe characters become %XX hex sequences safe for URLs and query strings.

100% Private

All encoding and decoding runs entirely in your browser. Your text is never uploaded, logged, or sent to any server — no signup, no tracking, no daily limit.

Live Conversion

Real-time encode/decode as you type (200ms debounce). Instantly see percent-encoded output or human-readable decoded text with live character counts.

Smart Modes

Encode entire strings, preserve URL structure (keep ://?&=# intact), switch spaces between %20 and +, and swap input↔output with one click.

What is URL encoding (percent-encoding)?

URL encoding converts characters that are not allowed in a URL into a percent sign followed by two hexadecimal digits. For example, a space becomes %20 and the character é becomes %C3%A9. This is defined by RFC 3986 and lets URLs be safely transmitted over the internet.

What is the difference between encodeURIComponent and encodeURI?

encodeURIComponent encodes everything except A-Za-z0-9-_.!~*'() — it is meant for individual URL components such as a single query-parameter value. encodeURI keeps URL-reserved characters (://?&=#) intact, so it is meant for full URLs. Toggle "Preserve URL structure" to switch to encodeURI mode.

Should spaces be encoded as %20 or +?

In a URL path, the standard is %20. In application/x-www-form-urlencoded form data (e.g., POST bodies and query strings in older APIs), spaces are encoded as +. The "Encode spaces as %20" option toggles between these conventions — %20 is the safer default for modern URLs.

Why does decoding show "Invalid URL encoding"?

This happens when the input contains a malformed percent sequence — for example a lone % not followed by two hex digits, or % followed by non-hex characters such as %zz. The decoder refuses to produce garbage output and shows the error so you can fix the input. The tool never crashes.

Is my data sent to a server?

No. This tool is 100% browser-based. All encoding and decoding runs as JavaScript inside your browser. Your text never leaves your device, nothing is logged, and there is no signup or daily limit.

Ready to use the URL Encoder / Decoder?

Free, no signup, no watermark. 100% browser-based. Your data never leaves your device.

Open the tool