URL Encoder / Decoder
Encode text into percent-encoded URL format, or decode an encoded URL back to readable text.
When to use component vs full URI encoding
Component encoding (the default) escapes every special character, including /, ? and & — use it when encoding a single value that will become part of a query string, like a search term. Full URI mode leaves the URL's structural characters untouched and only escapes spaces and non-ASCII characters, which is what you want when encoding an entire link.
Runs entirely in your browser
Encoding and decoding use the browser's native functions locally — nothing is sent to a server.
Frequently asked questions
Why does decoding sometimes show an error?
This happens when the input contains a malformed percent-escape sequence, such as a stray "%" not followed by two hex digits.
What's the difference between encodeURI and encodeURIComponent?
encodeURI (full URI mode) preserves characters that are valid in a complete URL, while encodeURIComponent (component mode) escapes nearly everything so the result is safe to embed inside a single URL segment or parameter.
Can I encode emojis or accented characters?
Yes, any Unicode character is converted to its UTF-8 percent-encoded representation.
Related tools
You might also need these while working on the same task.
Add utm_source, utm_medium and utm_campaign parameters to any URL.
Open toolConvert text and images to Base64, and decode Base64 back to text or images.
Open toolFormat, minify and validate JSON with an exact error location.
Open toolTurn any text, link or message into a downloadable PNG or SVG QR code.
Open tool