URL Encoder & Decoder
Encode a URL or decode one — and see exactly which escape is malformed.
Component escapes reserved characters. Full URL keeps ://, ? and & in place.
Nothing is uploaded; the work happens in this tab.
01 Capability
What it does
Small details that make the job quicker.
- Two honest modes: encode a URL component, or encode a complete URL without breaking :// and ?.
- Decodes percent escapes with a clear message when a % is not followed by two hex digits.
- Handles spaces, ampersands, hashes, emoji and non-Latin text without uploading anything.
- Swap, sample, copy and clear, plus a character count so you can see what changed.
- Runs offline once loaded and makes no request with the text you paste.
02 Questions
Questions
Short answers, no small print.
When should I use Component instead of Full URL?
Use Component for a search term, a query value or a path segment, because every reserved character must be escaped there. Use Full URL when you are encoding a whole address and want ://, ?, & and # to keep their structural meaning.
Why does a space become %20?
Spaces are not allowed in a URL. Percent-encoding writes the byte as a percent sign plus two hexadecimal digits, so a space becomes %20. Some form systems use + instead, but %20 works everywhere.
What is a malformed percent escape?
A % that is not followed by exactly two hex digits, such as %2 or %ZZ. The tool stops and names the problem instead of returning a half-decoded string.
Why did decoding fail on a value that looks encoded?
The escapes may describe bytes that are not valid UTF-8. That happens with binary data or with text encoded in another character set. The error says so instead of showing replacement characters.
Is the URL sent anywhere?
No. Encoding and decoding use the browser's built-in encodeURIComponent, encodeURI and their decode partners. Astra never receives the text.