URL Encoder
Percent-encode text and query values so they can be safely placed in a URL. Handles spaces, ampersands and non-ASCII characters in your browser.
Paste text to encode
Result
What is URL encoding?
URL encoding replaces characters that are not allowed in a URL with a percent sign followed by their hexadecimal byte value. A space becomes %20, the ampersand becomes %26 and a Chinese character expands to three percent-encoded bytes in UTF-8.
Without encoding, a query value that contains & or = would be read as extra URL structure, so browsers and servers would see the wrong parameter.
How to percent-encode text
- Paste the text or query value you want to encode.
- Leave Encode a whole URL off for a single value, or turn it on to keep : / ? & = # intact.
- Press Encode.
- Copy the result into your URL, form or API call.
URL encoding examples
A search value
coffee & tea
coffee%20%26%20tea
An email address
alice+bob@example.com
alice%2Bbob%40example.com
CJK text
世界
%E4%B8%96%E7%95%8C
Browser encoder vs other ways
| Dimension | UrsaKit URL Encoder | Hand-editing the URL | Some editors |
|---|---|---|---|
| Correctness | UTF-8 percent encoding | Easy to miss a character | Varies |
| Whole URL mode | Yes | Manual | Rare |
| Data leaves the device | No, runs in the browser | No | Depends on the tool |
| Copy and download | Both | Neither | Sometimes |
Frequently asked questions
Is the URL encoder free?
Yes, with no account and no usage limit.
What is the difference between encoding a value and a whole URL?
A single value encodes every reserved character, including / and ?. Whole URL mode keeps : / ? & = # so the existing URL structure stays readable.
Why does a space become %20 and not +?
%20 is the standard percent-encoding for a space. The + form is only an application/x-www-form-urlencoded convention, so the decoder here accepts both.
Does it handle non-Latin characters?
Yes. Text is encoded as UTF-8 first, so CJK and emoji produce the correct percent-encoded byte sequences.
Is my text uploaded?
No. Encoding runs in JavaScript in your browser.