URL Encoder/Decoder Online — Free URL Encode, Decode & Parse Tool

URL Encoder/Decoder

Encode, decode, and parse URLs and query strings instantly.

Free online URL encoder and decoder. Encode text for URL parameters with encodeURIComponent, encode full URLs with encodeURI, or decode percent-encoded strings. Parse any URL into its components — protocol, host, port, path, query parameters, and fragment. Build query strings from key-value pairs. Supports RFC 3986 strict encoding, space-as-plus form encoding, Unicode characters, double-encoding detection, and batch processing. Runs entirely in your browser — no data is ever sent to a server.

Keywords: url encoder, url decoder, url encode online, url decode online, percent encoding, encodeURIComponent, encodeURI, url parser, query string parser, query string builder, url encode decode, url encoding, url decoding, encode url online, decode url online, uri encoder, url escape, url unescape, percent decode, rfc 3986, url encode special characters

Tags: url, encode, decode, percent-encoding, query-string, uri, parse

Browse all 20 Web Code tools →

How to URL Encoder/Decoder Online

  1. Paste or type a URL, text, or query string into the input panel.

  2. Choose an action: Encode, Decode, Encode URI, Decode URI, Parse URL, or Parse Query String.

  3. Optionally toggle Space mode between %20 and + and enable RFC 3986 strict encoding.

  4. Press ⌘↵ or click the action button to process your input.

  5. Copy the result, download it, or share a link to your encoded input.

URL Encoder/Decoder Features

  • Encode text for URL parameters using encodeURIComponent with full Unicode support.

  • Decode percent-encoded strings back to readable text with automatic + to space handling.

  • Encode full URLs using encodeURI, preserving URL-safe characters like :, /, ?, and #.

  • Parse any URL into its structured components: protocol, host, port, path, query, and fragment.

  • Parse query strings into a sortable table of decoded key-value pairs with duplicate key handling.

  • Build query strings from key-value pairs with proper encoding.

  • RFC 3986 strict encoding mode that encodes all characters except unreserved A-Za-z0-9-_.~

  • Configurable space handling: choose between %20 (URI standard) and + (form-encoded).

  • Auto-detect mode intelligently chooses Encode or Decode based on your input.

  • Double-encoding detection warns you when input appears already encoded.

  • Supports emoji, CJK, Cyrillic, and all Unicode characters.

  • Runs entirely in your browser — no URL data is ever sent to a server.

Frequently Asked Questions

What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL but preserves characters that have special meaning in URLs like :, /, ?, #, and &. encodeURIComponent encodes everything except A-Za-z0-9-_.!~*'(), making it safe for use as a query parameter value. Use encodeURI for full URLs and encodeURIComponent for individual parameter values.
Should I use %20 or + for spaces in URLs?
It depends on context. %20 is the standard URI encoding for spaces per RFC 3986 and works everywhere. The + sign is only valid for spaces in the query string portion when using application/x-www-form-urlencoded format, which is common in HTML form submissions. For maximum compatibility, use %20.
What is double encoding and how do I fix it?
Double encoding happens when an already-encoded string is encoded again, turning %20 into %2520. This tool detects double encoding and warns you. To fix it, decode the string twice or use the Decode action until no more percent-encoded sequences remain.
Is my URL data sent to any server?
No. This URL encoder/decoder runs entirely in your browser using native JavaScript APIs. No URL data is transmitted to any server. Your data stays private.
What is RFC 3986 strict encoding?
RFC 3986 defines the standard for URI syntax. Strict encoding encodes all characters except the unreserved set: A-Z, a-z, 0-9, hyphen (-), period (.), underscore (_), and tilde (~). This is stricter than encodeURIComponent, which also preserves !, ', (, ), and *.
Can I encode emoji and non-Latin characters in URLs?
Yes. This tool fully supports Unicode including emoji, CJK characters, Cyrillic, Arabic, and all other scripts. Characters are encoded as UTF-8 byte sequences represented in percent-encoding, e.g. 🚀 becomes %F0%9F%9A%80.