URL Encoder / Decoder

Encode and decode URLs safely

Input

Output

About this tool

QRSwift's URL Encoder / Decoder converts strings to and from percent-encoded (URI-encoded) format — the standard that replaces unsafe characters like spaces, ampersands, and non-ASCII letters with %XX sequences so they can travel safely inside a URL. It's an everyday utility for web developers building query strings, backend engineers debugging redirect chains, and SEO professionals inspecting crawled URLs. Encoding and decoding both happen instantly in your browser with nothing stored or transmitted.

How to use

  1. 1

    Paste your input

    Paste a plain-text string or a full URL (to encode), or paste a percent-encoded string like hello%20world (to decode) into the left panel.

  2. 2

    Choose encode or decode

    Click Encode URL to convert special characters to their %XX equivalents, or Decode URL to convert them back to readable text.

  3. 3

    Read the output

    The result appears instantly in the right panel. If decoding fails — for example because the input contains an invalid % sequence — an error message will let you know.

  4. 4

    Copy and use

    Select all text in the output panel and copy it, or click Clear All to reset both panels for a new conversion.

Frequently asked questions

What is URL encoding and why is it needed?

URLs can only contain a limited set of ASCII characters. Any character outside that set — spaces, accented letters, symbols like &, =, or # — must be replaced with a % sign followed by the character's two-digit hex code. For example, a space becomes %20 and & becomes %26. Without encoding, browsers and servers can misinterpret parts of the URL, breaking links or query parameters silently.

What is the difference between encodeURI and encodeURIComponent?

encodeURI is designed for encoding a complete URL — it leaves characters like :, /, ?, and # untouched because they have structural meaning in a URL. encodeURIComponent — which this tool uses — encodes everything except letters, digits, and - _ . ! ~ * ' ( ). Use it when encoding a single query parameter value, not a full URL, so characters like & and = inside a value don't get misread as parameter separators.

Why does a space sometimes appear as + instead of %20 in URLs?

Both + and %20 represent a space, but in different contexts. The + notation comes from the older application/x-www-form-urlencoded format used by HTML forms, where spaces in form field values are encoded as +. The %20 encoding is part of the URI standard (RFC 3986) and is more universally correct. This tool uses the RFC 3986 standard, so spaces are encoded as %20. If you see a + in a URL and need to decode it as a space, replace + with %20 before decoding.

You might also like