Ever seen a URL full of %20s and %3Ds and wondered what's going on? That's percent-encoding — also called URL encoding — and it's the reason URLs can safely carry spaces, punctuation, and non-English text without breaking.
This guide explains what it actually does, why it exists, and how to encode or decode any string in seconds.
What is URL / Percent Encoding?
A URL can only contain a limited set of characters safely: letters, digits, and a small set of punctuation like - _ . ~. Anything else — spaces, &, =, ?, #, accented letters, emoji — has to be represented using percent-encoding: a % followed by the character's two-digit hexadecimal byte value.
URL Encoded (percent-encoded) hello%20world%20%26%20more
This process is standardized by RFC 3986. It's completely reversible — decoding just reads the %XX sequences back into their original characters.
Key point: URL encoding is not encryption or obfuscation. It's a formatting rule so that special characters can travel safely inside a URL. Anyone can decode it instantly — never rely on it to hide sensitive data.
Why Percent Encoding Matters
Certain characters in a URL are reserved — they have special meaning in the URL's structure. If you don't encode them when they appear inside a value, the URL breaks or gets misparsed:
& in Query Strings
An unencoded & inside a value gets read as the separator between two query parameters, silently truncating your data.
= in Values
A raw = inside a parameter value confuses the key/value split, corrupting the parsed result.
Spaces
Literal spaces are invalid in URLs — browsers and servers may truncate or reject the request entirely.
Non-ASCII Text
Accented letters, Chinese/Arabic/Hindi text, and emoji all need to be percent-encoded as their UTF-8 bytes.
A real-world example: if a user searches for "AT&T support" and your app builds a URL like ?q=AT&T support without encoding, the server sees three separate parameters (q=AT, T support as a broken fragment) instead of one search term. Properly encoded, it becomes ?q=AT%26T%20support and parses correctly every time.
Why Do Spaces Become %20 or +?
You'll see both in the wild, and it's a common source of confusion:
| Context | Space is encoded as |
|---|---|
| URL path / most of a URL (RFC 3986) | %20 |
| Query string, form submissions (application/x-www-form-urlencoded) | + |
The + convention comes from older HTML form encoding, not the core URL spec — which is why a literal + in your data must itself be encoded as %2B to avoid being misread as a space.
How to Encode and Decode URLs Online
UtilityX's URL Encoder & Decoder handles this instantly and privately in your browser:
- Paste the text or full URL you want to encode into the input box.
- Click Encode to convert special characters to their percent-encoded form — full Unicode/UTF-8 support means accented letters and emoji work correctly too.
- To go the other way, paste a percent-encoded string and click Decode to see the original readable text.
- Copy the result directly into your code, query string, or wherever you need it.
💡 Tip: If you're debugging a link that "should work" but doesn't, decode it first. A surprisingly common bug is a value that's been encoded twice (%2520 instead of %20) because it passed through more than one encoding step in the pipeline.
Try the URL Encoder & Decoder
Encode or decode any text or URL instantly. Free, private, no account needed.
Open URL Encoder & Decoder →Frequently Asked Questions
What is percent-encoding?
Percent-encoding (also called URL encoding) is a way of representing characters that aren't allowed or aren't safe in a URL by replacing them with a % followed by their two-digit hex code, such as %20 for a space.
Why do spaces become %20 or a plus sign?
URLs cannot contain literal spaces, so they must be encoded. The path and most of the URL use %20. Inside an application/x-www-form-urlencoded query string (like form submissions), a space is conventionally encoded as + instead, which is a legacy convention rather than a strict RFC 3986 rule.
Is URL encoding the same as encryption?
No. URL encoding is not encryption or security of any kind — it's a reversible text transformation so that data can safely travel inside a URL. Anyone can decode a percent-encoded string instantly.
When do I actually need to URL encode something?
Whenever you're putting user-generated or special-character text into a URL — a search query, a redirect parameter, an email address in a mailto link, or a value in a query string that contains spaces, &, =, ?, #, or non-English characters.
Summary
Percent-encoding exists so URLs can carry any data safely, no matter what characters it contains. Understanding when and why to use it will save you from broken links, truncated query parameters, and hard-to-debug data corruption. For quick encoding or decoding, UtilityX's URL Encoder & Decoder runs entirely in your browser — private, free, and instant.