# URL Encode > Use URL Encode as a percent encoder for UTF-8 text. Encode URL components, convert spaces to %20 and plus signs to %2B, then copy the encoded value. **URL Encode** converts a text value into a percent-encoded URL component using UTF-8 bytes. Use this percent encoder for a query parameter value or an individual path segment. Spaces become `%20`, and literal plus signs become `%2B`. ## Overview & Metadata - **Canonical URL:** https://million.tools/url-encode/ - **Markdown Copy (.md.txt):** https://million.tools/url-encode.md.txt - **Plain Text Copy (.txt):** https://million.tools/url-encode.txt - **API Endpoint:** https://million.tools/api/v1/run/url-encode (POST, Keyless, 60 req/min) - **SEO Title:** URL Encode Online | Percent-Encode a URL Component - **Alternative Names:** Percent Encoder, URL Percent Encoding, URL encoder, URL component encoder, Percent-encoding tool - **Category:** [Encoding](https://million.tools/encoding/) - **Tags:** [#URL](https://million.tools/tag/url/) - **Application Category:** `DeveloperApplication` - **Platform:** Web (All modern desktop and mobile browsers, requires JavaScript) - **Price:** Free ($0.00 USD, no registration or sign-up required) - **Live Calculation:** Supported (`Auto / Live` toggle enabled by default) - **Usage Statistics:** 1 use · 24 views - **Published:** 2026-11-09 - **Last Updated:** 2026-11-09 - **Author:** Egor Volchenko (Developer & Author) ## Key Features - Percent-encode text as a URL component - Use UTF-8 bytes for non-ASCII text - Encode spaces as %20 and plus signs as %2B - Escape reserved delimiters and RFC 3986 punctuation - Update edited input with Auto / Live or Run - Copy encoded output and clear text ## Parameters & Interface Controls ### Input Parameters & Options - `input_text`: URL / String. - `input_encoding`: `Hex` | `Hex (Ignore Non-Hex Characters)` | `Base64` | `UTF-8` | `UTF-16LE` | `UTF-16BE` | `Windows-1251 (Cyrillic)` | `Windows-1252 (Latin 1)` | ... (42 options) ### Output Fields & Metrics - `result`: URL Encoded (Percent-encoded). - **Controls:** `Run`, `Clear`, `Copy`, `Fill test data`, `Auto / Live` ## Interactive Example (Test Vector) **Settings:** - Input Encoding: `UTF-8` **URL / String:** ```text a+b /?=hello world! ``` **URL Encoded (Percent-encoded):** ```text a%2Bb%20%2F%3F%3Dhello%20world%21 ``` ## How to use URL Encode Follow these steps to check the input and read the result. ### Encode a value for a URL 1. Type or paste the unencoded component or text value into URL / String. 2. Leave Input Encoding: at UTF-8. The current URL operation uses the entered text directly; this selector does not reinterpret Hex or Base64 input. 3. Keep Auto / Live on to update the result as you edit. To process it manually, turn Auto / Live off and click Run. 4. Read URL Encoded (Percent-encoded) and check the result before using it. 5. Click Copy to copy the result. Use Clear where shown, or a field’s clear control, to clear the text before starting again. Enter `hello world+!` to get `hello%20world%2B%21`. The space, plus sign, and exclamation mark each receive a percent escape. ### Encode a value before assembling the address Reserved delimiters such as slash, question mark, ampersand, and equals are escaped. Encoding a complete address therefore also escapes its structure. Use the result for the component you intended to encode rather than assuming it remains a navigable URL. ### Avoid encoding an already encoded value A percent sign becomes `%25`. Entering `%20` produces `%2520`, which is a second layer of encoding. The operation uses RFC 3986-style component escaping, including punctuation such as `!` and `*`. ## Frequently asked questions ### Why do spaces become %20 rather than plus signs? This operation uses percent encoding for URL components. The `+` convention for spaces belongs to form-urlencoded data, which is a different representation. ### Can I encode an entire URL? You can enter one as text, but its colon, slashes, query delimiters, and other reserved characters will also be escaped. Use component encoding for an individual value, or when deliberately nesting a full URL inside another parameter. ### Does this use exactly encodeURIComponent behavior? The current implementation additionally escapes `!`, `'`, `(`, `)`, and `*`. These are left unescaped by JavaScript encodeURIComponent but are escaped by this RFC 3986-style operation. ### What happens to text that is already percent-encoded? Its percent signs are encoded again. For example, `%20` becomes `%2520`. Start with the original text unless a second layer is intentional. ### How are non-English characters encoded? The characters are converted to UTF-8 bytes, and the bytes are written as percent escapes. Input Encoding: does not change the encoding used by this operation. ### Is URL encoding encryption? No. Percent encoding represents characters in a URL-compatible form and can be reversed. It does not hide sensitive values or validate the address. ## Related Tools - [URL Decode](https://million.tools/url-decode/): Decode percent-encoded text and URL components. Convert UTF-8 byte escapes to readable text while preserving literal plus signs. - [JWT Decoder](https://million.tools/jwt-decoder/): Inspect a JSON Web Token’s decoded header and payload. Read claims as JSON for debugging; decoding does not verify the signature or token validity. - [Base32 Encode](https://million.tools/base32-encode/): Encode text, Hex, or Base64 bytes as standard RFC 4648 Base32. The output uses uppercase letters, digits 2–7, and padding where needed. - [Base32 Decode](https://million.tools/base32-decode/): Decode standard Base32 to UTF-8 text. Uppercase and lowercase input work; preserve required padding and remove internal whitespace. ## About the Author **Egor Volchenko** — *Developer & Author* Hi! I’m a WordPress developer with over 10 years of experience. I love Tailwind CSS, clean code, and intuitive interfaces. I’m currently working on million.tools — a service with convenient online tools for everyday tasks. I’m building it from scratch with great attention to detail and user experience. - **Links:** [x.com](https://x.com/egorleet) · [github.com](https://github.com/egorleet) · [t.me](https://t.me/egorleet) · [instagram.com](https://www.instagram.com/egorleet) · [facebook.com](https://www.facebook.com/egorleet/) · [egorleet.blog](https://egorleet.blog/) · [mastodon.social](https://mastodon.social/@egorleet) · [twitch.tv](https://www.twitch.tv/egorvolchenko) · [stackoverflow.com](https://stackoverflow.com/users/31679135/egor-volchenko) · [reddit.com](https://www.reddit.com/user/Vegetable_Window9185/) · [youtube.com](https://youtube.com/@egor-volchenko)