URL Encoder / Decoder
Percent-encode text for safe use in URLs, or decode percent-encoded strings back to readable text.
What Is a URL Encoder?
URLs are allowed to contain only a limited set of characters — but the data we put in them (search queries, names, full sentences, even other URLs) contains anything. URL encoding, also called percent-encoding, is the translation system between the two: every unsafe character becomes a % followed by its two-digit hexadecimal code. This tool encodes and decodes instantly — paste text to make it URL-safe, or paste an encoded string to make it human-readable again.
You have seen the results everywhere: a search for "fish & chips" becomes q=fish%20%26%20chips in the address bar. The space turned into %20, the ampersand into %26 — because a raw & in a URL means "next parameter begins," and a raw space is simply illegal. Percent-encoding is defined by the URL standard (RFC 3986), and getting it right is what separates links that work from links that silently break in someone else's inbox.
How to Use the URL Encoder
- Paste or type your text into the box — plain text to encode, or a percent-encoded string to decode.
- Click "Encode" or "Decode" as appropriate.
- Use Copy to grab the result, or Clear to start over.
The Characters That Must Be Encoded
The always-safe set is small: letters, digits, and a few marks (- _ . ~). Everything else in data needs encoding — space %20, & %26, = %3D, ? %3F, # %23, / %2F, + %2B, % itself %25 (the order of operations that bites every beginner: encode the percent signs first, or decode them last). Non-English characters are encoded byte-by-byte from their UTF-8 representation, so é becomes %C3%A9 — two encoded bytes for one visible character. One special case to know: in query strings submitted by HTML forms, spaces are often written as "+" instead of %20 — the two conventions are cousins, not twins, and confusing them is a classic source of mangled data.
Where Developers Use This Daily
- Building links with dynamic values: search terms, redirect targets (a URL inside a URL must be fully encoded), and pre-filled form links.
- Debugging: decoding a captured request URL to read what was actually sent, character by character.
- APIs and OAuth flows, where a single unencoded & in a parameter value splits the request into nonsense.
What is the difference between encoding a component and a whole URL?
A whole URL contains structural characters — :, /, ?, &, = — that must stay literal or the address breaks. Encoding a component (one query value) escapes everything structural, which is what you want for data. This tool performs component-style encoding, suited to values you will insert into a URL. If you pasted a complete URL and encoded it, decode it back and instead encode only the parameter values within it.
Why does my decoded text show strange characters like é?
That is a UTF-8 mismatch: the text was encoded from UTF-8 bytes, then decoded as if it were Latin-1, so each multi-byte character split into two odd glyphs (é → é is the signature example). Modern browsers and this tool decode as UTF-8, so if you see this pattern, the corruption happened elsewhere in your chain — usually a server or spreadsheet that assumed the older encoding. Re-encoding the garbled text correctly usually recovers the original.
Is URL encoding a form of security or encryption?
Not at all. Like Base64, it is a transport format — instantly reversible by anyone (this page just reversed it). Encoded passwords in URLs are still passwords in plain sight, and URLs are logged by servers, proxies, and browser histories. Encode for compatibility, never for confidentiality.
Do I need to encode URLs I share in messages?
If the link contains spaces or special characters in its parameters, yes — many chat and email apps will truncate or break the link at the first raw space or stray character otherwise. Clean URLs (letters, digits, slashes, hyphens) paste safely as-is. When in doubt, encode the parameter portion; a properly encoded link works everywhere, which is the entire point of the standard.