URL Encoder
Percent-encode text so it's safe inside URLs, query strings and form data. Choose component or full-URL encoding, + or %20 for spaces, and encode many lines at once.
What Is URL Encoding?
Also called percent-encoding — the way URLs carry characters that would otherwise break them.
URLs may only contain a limited set of ASCII characters, and some of those — like ?, &, =, # and / — have special meaning. Percent-encoding replaces any other character with % followed by two hex digits for each of its UTF-8 bytes, so a space becomes %20 and “é” becomes %C3%A9.
You need it whenever you put user input into a link: search terms, redirect URLs, filenames, API query parameters or tracking tags.
Component mode uses JavaScript's encodeURIComponent: it encodes everything except letters, digits and - _ . ! ~ * ' ( ). Use it for a single query value or path segment.
Full URL mode uses encodeURI, which leaves URL structure (: / ? # [ ] @ & = + and so on) intact — handy for cleaning up a complete link that contains spaces or non-ASCII characters.
Common Percent-Encoded Characters
How frequently used characters look after encoding (Component mode).
| Character | Encoded | Character | Encoded |
|---|---|---|---|
| space | %20 or + | & | %26 |
/ | %2F | = | %3D |
? | %3F | # | %23 |
: | %3A | + | %2B |
@ | %40 | % | %25 |
" | %22 | , | %2C |
é | %C3%A9 | € | %E2%82%AC |
| 😀 | %F0%9F%98%80 | line break | %0A |
How to Use the URL Encoder
Get your result in under ten seconds.
Paste your text
Enter a query value, a list of values (one per line) or a full URL.
Pick a mode
Component for values, Full URL for whole links. Optionally use + for spaces or strict RFC 3986.
Copy the result
The encoded string updates as you type — copy it or download it as a text file.
Why Use the URL Encoder on Developers Web Tools
Fast, accurate and private — built for developers.
Both JS modes
Switch between encodeURIComponent and encodeURI and see the difference instantly.
Form encoding
Output + for spaces, the format HTML forms and many APIs expect.
Bulk encoding
Encode a whole list of values line by line, keeping one result per line.
Correct UTF-8
Emoji and non-Latin scripts become the right multi-byte percent sequences.
Clear errors
Broken text (such as lone surrogate characters) is reported instead of failing silently.
Private
Everything runs in your browser — tokens and URLs are never sent anywhere.
Frequently Asked Questions
encodeURIComponent encodes every character that has meaning in a URL, including / ? & = #, so it's right for a single value. encodeURI keeps those characters so a complete URL still works. Encoding a full URL with Component mode turns https:// into https%3A%2F%2F.
Both mean a space in a query string. + comes from HTML form encoding (application/x-www-form-urlencoded); %20 works everywhere, including paths. When in doubt, use %20. In a path, + is a literal plus sign.
JavaScript's encodeURIComponent leaves ! ' ( ) * unencoded. RFC 3986 reserves them, and some APIs (OAuth 1.0 signatures, AWS SigV4) require them to be encoded. Strict mode encodes them as %21 %27 %28 %29 %2A.
The input contains a lone surrogate — half of an emoji or other astral character, usually from text that was cut in the middle. Such text can't be represented in UTF-8. The error shows the position so you can fix it.
URLs encode UTF-8 bytes, and characters outside ASCII take 2–4 bytes. “é” is 2 bytes (%C3%A9) and most emoji are 4 bytes.
No. The encoder uses your browser's built-in functions. Nothing is uploaded, logged or saved.