URL Encoder / Decoder
Encode special characters for safe use in URLs, or decode percent-encoded strings. Handles full URLs, components, and query strings.
Jump to section โพ
How to Use the URL Encoder / Decoder
Type or paste text into the left (decoded) panel to encode it, or paste percent-encoded text into the right (encoded) panel to decode it. Both panels stay in sync โ changes to either side instantly update the other. Choose the encoding context at the top: Component mode (default) encodes all reserved characters and is right for query parameter values; Full URL mode preserves URL structure while encoding unsafe characters; Query String mode lets you build and parse key-value parameter tables.
About This Toolโพ
Encode and decode URLs using the same native browser functions that JavaScript and web browsers use internally. Three encoding contexts cover every use case: Component mode uses encodeURIComponent() to encode all reserved characters, making values safe for query parameters and path segments. Full URL mode uses encodeURI() to encode a complete URL while preserving its structure. Query String mode parses and builds key-value parameter strings using URLSearchParams. The difference matters โ using the wrong encoding function is a common source of bugs in web development. Related: format API responses for the decoded query output, Base64 Image Encoder for encoding binary data as text, and debug regex patterns for validating query-parameter values.
Quick Reference Table
| Character | Encoded | Description |
|---|---|---|
| (space) | %20 | Space character |
| & | %26 | Ampersand |
| = | %3D | Equals sign |
| ? | %3F | Question mark |
| / | %2F | Forward slash |
| : | %3A | Colon |
| @ | %40 | At sign |
| + | %2B | Plus sign |
| # | %23 | Hash / fragment |
| % | %25 | Percent (literal) |
Frequently Asked Questions
What is the difference between %20 and + for spaces?
Both represent a space in URL context, but in different places. %20 is the standard percent-encoded space valid anywhere in a URL. The + sign represents a space only in application/x-www-form-urlencoded data โ the format used by HTML form submissions. In a URL path, + is a literal plus sign, not a space. When in doubt, use %20.
Why does my URL have %25 in it?
A literal % character must itself be encoded as %25. If you see %25 in a URL, it means the original text contained a % character. Double-encoding (%2520) means a % that was already encoded (%25) got encoded again โ a common mistake when encoding an already-encoded string.
When should I use encodeURI vs encodeURIComponent?
Use encodeURI() when encoding a complete URL that you want to remain navigable โ it preserves /, ?, &, =, and other structural characters. Use encodeURIComponent() when encoding a value that will be placed inside a URL, such as a query parameter value or a path segment.
What characters are never encoded?
encodeURIComponent never encodes: letters (AโZ, aโz), digits (0โ9), and these symbols: - _ . ! ~ * โ ( ). These are considered unreserved characters and are always safe in any part of a URL.
Does this work with non-English characters?
Yes. All Unicode characters โ including accented letters, Chinese, Arabic, emoji, and any other script โ are correctly encoded using their UTF-8 byte sequences. For example, the Icelandic letter รฐ encodes to %C3%B0.
Created by The Toobits Team ยท Engineering & Editorial
Toobits is built, tested, and maintained by a small independent engineering team. Every tool is written in TypeScript, runs entirely in the browser, and is reviewed against its source formulas before publication.
Editorial policy ยท Updated April 2026
Related tools
Hand-picked companions that pair well with this tool.
Hash Generator
Generate MD5, SHA-1, SHA-256, and SHA-512 hashes from text.
developerIP Address Lookup
Look up geolocation, ISP, and network details for any IP.
developerJSON Formatter
Format, validate, minify, and explore JSON with a tree view.
developerRegex Tester
Test regular expressions with real-time matching and capture groups.
developerNumber Base Converter
Convert numbers between binary, octal, decimal, and hexadecimal.
developerCSV to JSON
Convert CSV data to JSON arrays or objects instantly.
developerMore from Developer Tools
Other tools in the same category.
Internet Speed Test
Test your internet download, upload speed, and latency.
developerMarkdown to HTML
Convert Markdown to clean HTML with live preview.
developerโฐCron Generator
Build and explain Unix cron schedule expressions visually.
developer๐จColor Palette Generator
Generate harmonious color palettes from any base color.
developer01Binary to Text Converter
Convert binary code to text and text to binary.
developerโContrast Checker
Check WCAG color contrast ratios for accessibility compliance.
developer