Easy Converter

URL Encode / Decode

Encode or decode URLs and query strings instantly. Convert special characters to their %-escaped form, or reverse the operation to inspect human-readable values. Handles UTF-8, Cyrillic, Arabic, emoji and reserved RFC 3986 characters correctly.

How to use

  1. 1

    Paste the URL or text

    Drop the value to encode or decode into the input area.

  2. 2

    Choose direction and mode

    Pick Encode or Decode, and full URL vs component, plus space-as-plus.

  3. 3

    Copy the result

    The output updates live. Click Copy to grab it.

Technical details

URL encoding (percent-encoding) replaces unsafe characters in URIs with `%HH` where HH is the hexadecimal byte value in UTF-8. RFC 3986 reserves a specific set of characters (`!*'();:@&=+$,/?#[]`) that must be encoded when they appear inside a component value but kept literal when they serve their structural role.

JavaScript provides two encoding primitives: `encodeURI` keeps reserved characters literal (use it for full URLs) while `encodeURIComponent` encodes everything except `A-Z a-z 0-9 - _ . ! ~ * ' ( )` (use it for individual query values). The tool lets you pick the right primitive depending on whether you are encoding a full URL or just a parameter.

Decoding is the inverse: `%E2%9C%85` decodes to ✅. The tool auto-detects double-encoded values (`%25E2%259C%2585`) and warns you, because decoding once is usually enough and decoding twice corrupts data when it contains literal percent signs.

For form submission, browsers historically used `application/x-www-form-urlencoded` which replaces spaces with `+` instead of `%20`. The tool supports both modes via a checkbox.

Frequently asked questions

Encode or encodeURIComponent?
encodeURI for whole URLs; encodeURIComponent for individual query values. The tool offers both.
Does it handle emoji and Cyrillic?
Yes. The result is a valid UTF-8 percent-escaped string accepted by every web server.
What about double-encoded URLs?
The tool warns you and lets you decode twice with a single click.
Should spaces become %20 or +?
%20 for path segments, + for form values in application/x-www-form-urlencoded.
Is anything sent to a server?
No. Encoding and decoding are pure string operations performed locally.
Reviewed by:Easy Converter Engineering Team

This tool was tested and calibrated by our engineering team. All processing happens locally in your browser — your files and data never leave your device.