All URL encoding and decoding runs locally in your browser.
What is URL encoding?
URL encoding, also called percent-encoding, converts characters that are not safe inside a URL into %HH byte sequences. Spaces, Japanese or Chinese text, emoji, slashes inside query values, and symbols like & or = can change the meaning of a URL if they are not encoded correctly. This tool lets you encode a full URL with encodeURI-style behavior or encode a single URI component with encodeURIComponent-style behavior. It also supports application/x-www-form-urlencoded space handling, where spaces are represented as + inside form bodies and query strings.
Features
- Encode full URLs or individual URI components
- Decode percent-encoded strings with clear error feedback for malformed sequences
- Optional + ↔ space handling for form and query-string data
- Unicode-safe via the browser's native encodeURI / encodeURIComponent APIs
- Real-time output with one-click copy and download
- 100% browser-based — no upload, no tracking
How to use
- Choose Encode or Decode at the top of the tool.
- Enable Component mode when you are encoding a query parameter value, path segment or callback URL; disable it for a full URL.
- Enable + spaces when working with application/x-www-form-urlencoded data.
- Paste text on the left and copy the transformed result on the right.
Frequently Asked Questions
Should I encode a full URL or a component?
▾
Use full URL mode when the string already has URL structure such as https://example.com/path?a=1. Use component mode for values that will be inserted into a URL, for example a search query, redirect_uri, filename or path segment. Component mode encodes reserved characters like /, ?, &, = and # so they cannot break the surrounding URL.
What is the difference between %20 and + for spaces?
▾
%20 is the standard percent-encoded space in URLs. The + form is used by application/x-www-form-urlencoded, commonly seen in HTML forms and query strings. This tool can convert spaces to + on encode and + back to spaces before decode when the option is enabled.
Why do I get a malformed URI error?
▾
Decoding fails when the input contains an incomplete percent sequence such as %E3%81 or a lone %. Keep the original bytes intact, or encode the text again from the source before decoding.
Is Unicode handled correctly?
▾
Yes. Browser URL APIs encode Unicode as UTF-8 percent sequences, so Japanese, Chinese, emoji and accented characters round-trip correctly when the input is valid.
Related tools
Format, minify, validate and beautify JSON with inline error highlighting.
Compare two JSON documents side-by-side with line-level highlighting and key sorting.
Remove duplicates, empty rows, trim whitespace, convert UTF-8 ↔ Shift-JIS.
Convert YAML ↔ JSON and YAML ↔ Java .properties with strict validation.
Encode and decode Base64 (and Base64URL) for text or files. Real-time, browser-only.
Generate MD5, SHA-1, SHA-256, SHA-384 and SHA-512 hashes for text or files in your browser.
Convert Unix timestamps (seconds or milliseconds) to and from human-readable dates across timezones.
Decode JSON Web Tokens to inspect header, payload and signature, with readable timestamps and expiry status.
Test regular expressions in real time with match highlighting and presets.
Canonical: https://devformatlab.com/en/url-encoder