URL Encoder Decoder
Encode special characters in URLs (spaces become %20, & becomes %26) or decode percent-encoded text back to readable form.
Paste input
A URL or any string.
Choose direction
Encode (text → URL-safe) or decode (URL-safe → text).
Copy the result
Drop it into your URL or code.
Encode or decode
When do you need URL encoding?
URLs can only contain certain characters. Spaces, special symbols, non-Latin letters, and reserved characters (like &, =, ?) need to be encoded to be safe in a URL.
Common scenarios
- Search queries: "hello world" becomes
hello%20world. - Non-Latin characters: "café" becomes
caf%C3%A9. - Reserved characters in query values:
=and&need encoding when they appear as data. - UTM parameters with spaces: Encode them or the URL breaks.
Frequently asked questions
What is percent encoding?
Each problematic character is replaced with a percent sign followed by two hex digits representing its UTF-8 byte value. Space becomes %20, & becomes %26.
What is the difference between encodeURI and encodeURIComponent?
encodeURIComponent encodes everything including / and :, while encodeURI preserves URL structure. This tool uses the strict version (similar to encodeURIComponent).
Is URL encoding case-sensitive?
The encoded form is. Decoders accept both cases but %20 and %20 are identical, while %2f and %2F are also identical.
Do I need to encode the whole URL?
Only the parts that contain special characters. The protocol, domain, and path separators stay as-is.
Why do some characters get encoded that I think are safe?
Strict encoding plays safe. Characters like ! and ' are technically safe in some URL parts but get encoded for consistency.