URL Encoder & Decoder
Free, 100% client-side URL encoder and decoder. Convert text and query parameters into RFC 3986 percent-encoded strings or decode URLs with smart double-encoding detection and structural URL analysis.
Input URL / Text
Plain Text / TargetConverted Result
Encoded URLOverview
The ToolMono URL Encoder & Decoder is an enterprise-grade, browser-based developer utility designed for frontend engineers, backend API developers, DevOps architects, and SEO specialists. Percent-encoding (URL encoding) is an open RFC 3986 specification created to represent arbitrary non-ASCII characters, spaces, and reserved control symbols in a safe ASCII format suitable for transmission over HTTP protocols.
Web addresses (URIs) are restricted to a specific set of unreserved characters. Attempting to transmit raw spaces, ampersands (&), question marks (?), hash fragments (#), or emojis directly inside URL query parameters can break server routing and corrupt HTTP GET requests. By converting non-allowed characters into their 2-digit hexadecimal UTF-8 byte equivalents preceded by %, URL encoding guarantees reliable web communication.
Unlike online converters that log your internal query parameters or tracking links to remote servers, ToolMono executes 100% client-side URL encoding and decoding. Powered by native browser JavaScript APIs (encodeURIComponent, encodeURI, decodeURIComponent), your sensitive API credentials and tracking parameters never leave your local device sandbox. For complementary developer workflows, explore our URL Parser, Base64 Encoder & Decoder, JWT Decoder, and JSON Formatter.
URL Encoding & Percent-Encoding Engine
ToolMono features a versatile percent-encoding engine tailored for web development and API integration:
Encodes all non-unreserved characters. Perfect for encoding individual query parameter values (keys and values).
Encodes full URLs while preserving structural protocol symbols (https://, ?, &, #).
Toggle between standard RFC 3986 percent-encoding (%20) and form data submission (+).
Loops decoding iterations to resolve double or triple percent-encoding (e.g. %2520 → %20→ space).
Smart Error & Double-Encoding Detection
Automated URL Quality & Error Diagnostic Engine
Pasting malformed or repeatedly escaped URLs into web applications causes broken links and server exceptions. ToolMono automatically runs real-time diagnostics:
Detects %25 Sequences
Identifies strings that have been encoded multiple times, warning you before sending invalid parameters.
Detects %2G Invalid Hex
Catches invalid percent sequences where % is not followed by 2 hexadecimal digits.
Unencoded Spaces & Symbols
Warns when unencoded spaces or symbols like <, >, #, {, } exist inside query values.
Advanced Options & Configuration
| Option | Setting Values | Specification & Use Case |
|---|---|---|
| Encoding Mode | encodeURIComponent / encodeURI | Choose Component for query parameters, or Full URI for whole web addresses. |
| Space Handling | %20 (RFC 3986) / + (form-urlencoded) | Encodes spaces as %20 for URLs or + for HTML form submissions. |
| Decoding Mode | Single Decode / Recursive Decode | Single decode runs once; Recursive decode loops until double-encoding is resolved. |
| Unicode Normalization | None / NFC / NFD | Normalizes composite unicode characters before percent-encoding bytes. |
URL Analyzer & Query String Inspector
Structural URL Decomposition
ToolMono integrates a full URL Analyzer that breaks down web addresses into individual components:
RFC 3986 Reference Tables
1. Reserved Characters (Gen-delims & Sub-delims)
| Category | Characters | Percent Encoded | Purpose in URL |
|---|---|---|---|
| Gen-delims | : / ? # [ ] @ | %3A %2F %3F %23 %5B %5D %40 | Delimit scheme, host, path, query, fragment |
| Sub-delims | ! $ & ' ( ) * + , ; = | %21 %24 %26 %27 %28 %29 %2A %2B %2C %3B %3D | Delimit sub-components inside query strings |
2. Unreserved Characters (RFC 3986 Section 2.3)
| Group | Allowed Characters | Percent Encoding Needed? |
|---|---|---|
| Alpha / Numeric | A–Z, a–z, 0–9 | No (Never encoded) |
| Unreserved Marks | - . _ ~ (Hyphen, Period, Underscore, Tilde) | No (Never encoded in RFC 3986) |
3. Common Percent-Encoding Mapping
| Char | Encoded | Char | Encoded | Char | Encoded | Char | Encoded |
|---|---|---|---|---|---|---|---|
| Space | %20 / + | & | %26 | ? | %3F | = | %3D |
| / | %2F | : | %3A | # | %23 | % | %25 |
Programming Examples (11 Languages)
Select your target language to view production code for URL encoding and decoding:
// JavaScript - Native URL Encoding & Decoding Functions
// 1. Component Encoding (Use for Query Parameter values)
const paramValue = "search & find=true 🚀";
const encodedParam = encodeURIComponent(paramValue);
console.log("encodeURIComponent:", encodedParam); // "search%20%26%20find%3Dtrue%20%F0%9F%9A%80"
// 2. Full URI Encoding (Use for complete URLs to preserve schema & domain)
const fullUrl = "https://example.com/search?q=hello world & test#top";
const encodedUri = encodeURI(fullUrl);
console.log("encodeURI:", encodedUri); // "https://example.com/search?q=hello%20world%20&%20test#top"
// 3. Decoding Component
const decodedParam = decodeURIComponent(encodedParam);
console.log("decodeURIComponent:", decodedParam); // "search & find=true 🚀"
// 4. Form Data Space Encoding (+ instead of %20)
function encodeFormUrlEncoded(str) {
return encodeURIComponent(str).replace(/%20/g, "+");
}What is URL Encoding & How Does It Work?
A Uniform Resource Identifier (URI) is composed of a limited set of characters to guarantee that web requests can be transmitted across any network protocol without misinterpretation. When a URL contains special symbols (like spaces, ampersands, or emojis), the browser breaks each character down into its UTF-8 binary bytes and represents each byte as % followed by 2 hexadecimal digits.
URI vs. URL
A URI (Uniform Resource Identifier) is a generic name for all resource identifiers. A URL (Uniform Resource Locator) is a specific URI that defines the access protocol (e.g., https://) and network location.
Security Risks: XSS & Open Redirects
Unencoded user input injected into URLs can lead to Cross-Site Scripting (XSS) or Open Redirect vulnerabilities. Always sanitize and percent-encode parameter inputs in backend applications.
AI Overview Answers
What is URL Encoding?
URL encoding (or percent-encoding) is a standard defined by RFC 3986 that converts non-allowed or reserved characters into a safe %XX hexadecimal representation for web transmission.
Why do URLs contain %20?
In ASCII, space has hexadecimal byte value 0x20. Percent-encoding represents space as %20 to prevent URLs from breaking when shared.
What is the difference between encodeURI and encodeURIComponent?
encodeURI() encodes a full URL while preserving structural characters (like http://, ?, &). encodeURIComponent() encodes all reserved characters and is intended for query parameter values.
How to Use ToolMono URL Encoder
Paste Input
Paste your raw text, query parameter, or URL.
Select Mode
Choose Encode, Decode, or Auto-Detect.
Set Options
Configure encodeURIComponent, %20 vs +, or recursive decode.
Inspect Output
View live converted text, smart error alerts, and URL breakdown.
Copy / Export
Copy output, download TXT/JSON, or export CSV.
URL Encoding Best Practices
Encode Query Parameter Values Individually
Never run encodeURIComponent on a full URL string, as it will encode the protocol slashes and question mark. Only encode parameter keys and values.
Prevent Double Encoding
Avoid running encoding functions repeatedly on data that is already percent-encoded, which creates ugly %2520 sequences.
Common Errors & Fixes
Broken Protocol Schema (http%3A%2F%2F)
You accidentally ran component encoding on the entire URL. Switch to encodeURI mode or encode only query parameters.
Malformed URI Sequence
Occurs when decoding a string containing invalid percent hex pairs (like %2G). Enable ToolMono's smart sanitization mode to clean it.
Tips & Tricks
Recursive Decoding Mode
Use Recursive Decode when working with nested redirect URLs to unpack multiple layers of percent-encoding in one click.
Export Query Parameters to CSV
Auditing marketing campaigns? The URL Analyzer parses all UTM and query tags and exports them to clean CSV files for Excel.
Frequently Asked Questions
Privacy & E-E-A-T Verification
100% Client-Side Privacy & RFC 3986 Testing
ToolMono operates under strict privacy guarantees. All URL encoding, decoding, query parameter parsing, and smart diagnostic checks execute 100% locally inside your browser. No URLs, query parameters, API endpoints, or tracking tokens are ever sent to remote servers or logged.
- Compliant with IETF RFC 3986 Specs
- Zero Network Server Uploads
- Native Browser JavaScript APIs
- 100% Offline Capable
References & Standards
RFC 3986: Uniform Resource Identifier (URI) Generic Syntax
Official IETF specification defining percent-encoding rules.
WHATWG URL Living Standard
Browser vendor standard for percent-encoding query parameters and components.
MDN Web Docs: encodeURIComponent()
Official JavaScript API reference for URL encoding.
Related Tools
Browse all toolsBase64 Encoder Decoder
Free, 100% client-side Base64 encoder and decoder. Convert text, strings, and data to Base64 or Base64URL instantly with UTF-8 support, padding controls, and client-side processing.
JWT Decoder Online
Decode JWT tokens instantly in your browser. Inspect headers, payload claims, verify signatures, convert timestamps, and debug JWTs securely with 100% client-side processing.
JSON Formatter
Free online JSON formatter, beautifier, and validator. Format, indent, minify, and inspect JSON with real-time syntax error detection in your browser. 100% client-side.
Regex Tester
Test JavaScript regular expressions with live match highlighting, capture-group inspection, flags, and replacement preview. 100% client-side privacy.
Hash Generator
Generate hashes and file checksums locally in your browser. Compare digests, copy results, and use MD5, SHA-1, SHA-2, SHA-3, BLAKE2, and supported HMAC algorithms.
Online URL Parser & Parameter Extractor
Instantly parse any URL online. Extract scheme, hostname, path, query parameters, and fragments directly in your browser with 100% client-side privacy.