⌨ DEVELOPER · ENCODER

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.

Live encoding · UTF-8 · RFC 3986 compliant option
Encoding a query value? Use Component. Fixing a whole link? Use Full URL.Need to decode instead? URL Decoder →
Text to encode UTF-8
Encoded output
Input: 0 chars
Output: 0 chars
Encoded sequences: 0
RFC 3986 · 100% Client-Side
◆ ABOUT THIS TOOL

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.

% REFERENCE

Common Percent-Encoded Characters

How frequently used characters look after encoding (Component mode).

CharacterEncodedCharacterEncoded
space%20 or +&%26
/%2F=%3D
?%3F#%23
:%3A+%2B
@%40%%25
"%22,%2C
é%C3%A9€%E2%82%AC
😀%F0%9F%98%80line break%0A
◐ THREE STEPS

How to Use the URL Encoder

Get your result in under ten seconds.

1

Paste your text

Enter a query value, a list of values (one per line) or a full URL.

2

Pick a mode

Component for values, Full URL for whole links. Optionally use + for spaces or strict RFC 3986.

3

Copy the result

The encoded string updates as you type — copy it or download it as a text file.

✓ FEATURES

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.

FAQ

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.