🔗

URL Encoder / Decoder

Encode and decode URLs in real-time — bidirectional, two modes, diff highlighting. 100% local.

Examples:
Decoded (plain text)
0 chars
Encoded (URL-safe)
0 chars
Diff — encoded characters highlighted 0 changes
Start typing to see which characters get encoded.

How it works

1
Choose a mode
URL Component encodes everything except letters, digits and -_.!~*'(). Full URL mode preserves protocol, slashes and query separators.
2
Type on either side
Editing the plain-text side encodes in real-time. Editing the encoded side decodes instantly. Both directions work simultaneously.
3
Read the diff
The highlighted diff shows exactly which original characters were replaced by %xx sequences, with a count and percentage.
4
Copy or swap
Use the Copy buttons to grab either side, or hit Swap to flip the panes. Try the preset examples to explore common patterns.

Frequently Asked Questions

Is the URL Encoder free?

Yes, 100% free. No account, no limits.

Is my data sent to a server?

No. Encoding and decoding use JavaScript's encodeURIComponent() and decodeURIComponent() in your browser.

What is the difference between URL component and full URL encoding?

Component mode encodes everything except letters, digits and -_.!~*'() — for encoding individual query parameters. Full URL mode preserves slashes, colons and other URL structure characters.

When do I need to URL-encode a string?

When passing special characters like spaces, &, =, #, % in query strings, form data or HTTP headers.