# URL Encode & Decode - Online URL Encoder / Decoder

> Free online URL encoder and decoder: turn spaces, symbols and non-English text into percent-encoding such as %E4%BD%A0, or turn encoded links back into readable text. Handles single values or whole URLs, UTF-8 and GBK, and + as space. Real-time and local, no upload.

- URL: https://qilingtools.com/en/url-encode
- Category: Developer Tools (https://qilingtools.com/en/dev)
- Tags: [Developer](https://qilingtools.com/en/tags/dev), [Network & HTTP](https://qilingtools.com/en/tags/network), [Encoding](https://qilingtools.com/en/tags/encode)
- Last updated: 2026-11-07
- Price: Free, no sign-up
- Privacy: Runs locally in the browser; files are never uploaded

Convert spaces, non-English text and symbols such as & = ? into percent-encoding that is safe in a URL (你好 becomes %E4%BD%A0%E5%A5%BD), or turn a string of % codes back into text. Encode a single parameter value, or a whole URL while keeping the : / ? & = # that give it structure. Besides the universal UTF-8, it handles the GBK encoding used by older Chinese sites and detects it automatically when decoding, and it can treat + as a space, as HTML forms and Google search links do. Results appear as you type, entirely in your browser.

## How to use

1. Choose encode or decode, then a scope: Component for a single parameter value, Whole URL for a complete link
2. Paste the text or link; if spaces appear as + (HTML forms, Google search links), tick + means space
3. The result appears instantly; click Copy result. Switch the character encoding to GBK when an older Chinese site requires it

## Features

- Two scopes: a single value (encodes & = ? / and more) or a whole URL (keeps structural characters)
- UTF-8 and GBK; when decoding, GBK is tried automatically if UTF-8 fails
- Optional + as space, compatible with HTML forms, Google search links and PHP urlencode
- Correctly handles non-English text, spaces, punctuation and emoji
- Instant results with one-click copy
- Processed locally in your browser, nothing uploaded

## FAQ

### What is the difference between Component and Whole URL?

Component also encodes & = ? / : # and suits a value placed inside a parameter: 'a&b=c d' becomes a%26b%3Dc%20d, so it cannot break the surrounding link apart. Whole URL keeps : / ? & = # and only encodes spaces and non-ASCII characters, which suits turning a complete link with spaces or non-English words into something you can paste anywhere.

### Why does %C4%E3 fail to decode or come out garbled?

That is GBK, not UTF-8. The same word 你好 is %E4%BD%A0%E5%A5%BD in UTF-8 (three bytes per character) and %C4%E3%BA%C3 in GBK (two bytes per character). Links from older Chinese sites, early Baidu and some Windows software use GBK, so tools that only understand UTF-8 throw an error or show gibberish. This tool falls back to GBK automatically when UTF-8 fails and tells you so below the result; to produce a GBK-encoded link, switch the character encoding to GBK before encoding.

### What does a + in a link mean?

HTML form submissions, Google search links and PHP urlencode write spaces as +, e.g. q=hello+world. In standard URL encoding a space is %20 and + is a literal plus sign, so it is kept as is by default; with + means space ticked, q=hello+world%21 decodes to q=hello world!. When encoding with the option on, spaces become + and real plus signs become %2B.

### The result still starts with %. What now?

The link was encoded twice, e.g. %25E4%25BD%25A0: %25 is the encoding of the percent sign itself, so one pass gives %E4%BD%A0 and a second pass gives 你. This often happens with multi-step redirects and some share links; paste the result back in and decode again.

### What does "incomplete % escape" mean?

A percent sign must be followed by two hex digits (0-9, A-F), as in %20. A lone %, as in "100%", or a link cut off in the middle (such as ending in %E4%B) cannot be decoded. Check that you copied everything; a literal percent sign should be written as %25.

### Why are ! ' ( ) * not encoded?

The tool follows the browser-standard encodeURIComponent, under which these characters are allowed in URLs and work almost everywhere. A few contexts, such as OAuth signatures, require strict RFC 3986 encoding as %21 %27 %28 %29 %2A; replace them in the result by hand if you need that.

### Are my files or data uploaded?

No. Everything runs locally in your browser with no network upload, and is discarded when you close the page.

### Do I need to sign up or pay?

No. The site is completely free, needs no account and has no usage limits.

## Related tools

- [JSON Formatter](https://qilingtools.com/en/json): Free online JSON formatter: beautify or minify, validate with the exact line and column of any error, browse a collapsible tree, sort keys and escape strings.
- [Base64 Encode/Decode](https://qilingtools.com/en/base64): Free online Base64 encoder and decoder: convert text, images and any file to Base64, and Base64 back to text or files. UTF-8 and GBK text, data URIs and URL-safe Base64; decoded images are previewed and downloadable. Processed locally, never uploaded.
- [JWT Decoder](https://qilingtools.com/en/jwt): Free JWT decoder: read the header and payload, check expiry, and verify the signature with a secret, PEM, JWK or JWKS. Runs locally, nothing uploaded.
- [Timestamp Converter](https://qilingtools.com/en/timestamp): Free online Unix timestamp converter: convert timestamps and dates, auto-detect seconds or milliseconds, and show local, UTC, ISO 8601 and relative time.
- [Hash / Checksum](https://qilingtools.com/en/hash): Free hash calculator: MD5, SHA-1, SHA-256, SHA-384 and SHA-512 of text or files, with automatic comparison against a published checksum. Multi-GB files, no upload.
- [UUID Generator](https://qilingtools.com/en/uuid): Free online UUID generator: create UUID v4 (GUID) or time-ordered v7 in bulk with your browser's cryptographic RNG. Uppercase, no-hyphen and brace options, up to 100 at a time, one-click copy, generated locally.
- [Base Converter](https://qilingtools.com/en/base-convert): Free number base converter for binary, octal, decimal, hex and any base 2–36. Detects 0x/0b/0o prefixes and separators, with exact results for huge integers.
- [Regex Tester](https://qilingtools.com/en/regex): Free regex tester with live highlighting, capture and named groups, and g/i/m/s/u flags. Runaway backtracking is stopped, so the page never freezes.
