Free · No sign-up · Runs in browser

URL Encode
Converter

Percent-encode URLs, query params, and form data. Choose between encodeURIComponent, encodeURI, or form-urlencoded — one line at a time. Runs 100% in your browser — nothing leaves your device.

Plain Text Input
URL-Encoded Output
// URL-encoded output will appear here…

About URL Encoder & Decoder Tool

This free online URL encoder and decoder tool allows you to percent-encode URLs and decode percent-encoded strings instantly. Whether you're a developer building query parameters, encoding form data, debugging API requests, or working with special characters in URLs, our bidirectional converter handles all encoding needs with three modes: encodeURIComponent for query parameters and values, encodeURI for full URL strings preserving structure, and form-urlencoded for HTML form submissions (spaces become +). Supports full Unicode, batch processing, and runs 100% in your browser with instant results.

Why Use URL Encoding?

URLs can only contain a limited set of ASCII characters (A-Z, a-z, 0-9, and a few special characters). Any other characters—including spaces, special symbols, Unicode characters (Cyrillic, Chinese, Arabic, emoji), and reserved characters (?, &, =, #, /, etc.)—must be percent-encoded to work correctly in URLs. Without proper encoding, URLs break: spaces cause parsing errors, special characters create invalid URLs, query parameters get corrupted, non-ASCII text fails to transmit, and servers can't interpret requests correctly. URL encoding converts these characters to %XX format (percent sign + two hexadecimal digits) ensuring safe transmission, proper parsing, compatibility across all browsers and servers, and preventing injection attacks. This is essential for query strings, form submissions, API requests, and any URL with user-generated content.

How to Use This Tool

Choose your mode: Encode mode converts plain text URLs, query parameters, or strings into percent-encoded format— select encodeURIComponent to encode query parameter values and form data (encodes all special characters except A-Z a-z 0-9 - _ . ! ~ * ' ( )), encodeURI to encode complete URLs while preserving URL structure characters (: / ? # [ ] @), or form-urlencoded for HTML form data where spaces become + instead of %20. Decode mode converts percent-encoded strings (%20, %D0%BF, etc.) back to readable text, automatically handling both %20 and + for spaces. Paste your content (one URL or string per line for batch processing), click Encode or Decode, and get instant results. Copy to clipboard, download as text, or swap to reverse the conversion.

Key Benefits

  • No installation required: Works directly in your browser without any software downloads
  • Completely free: No registration, credit card, or hidden fees
  • Secure and private: All encoding happens locally - your URLs never reach our servers
  • Fast processing: Instant encoding and decoding with no waiting time
  • Bidirectional: Encode URLs or decode percent-encoded strings with one click
  • Three encoding modes: encodeURIComponent, encodeURI, or form-urlencoded for different use cases
  • Full Unicode support: Correctly handles Cyrillic, CJK, Arabic, emoji, all special characters
  • Batch processing: Encode or decode multiple URLs simultaneously (one per line)

Common Use Cases

Developers use URL encoding for building query string parameters with special characters (search terms, user input, filters), encoding API request URLs with Unicode data, constructing redirect URLs with encoded destination paths, generating share links with encoded content, building OAuth callback URLs with state parameters, encoding file names and paths in URLs, creating mailto links with encoded subjects and bodies, debugging API requests with improperly encoded parameters, testing URL parsing and routing logic. Frontend developers encode form submission data, build dynamic URLs from user input, create search functionality with special character support, encode URL fragments and hash parameters. Backend engineers decode incoming query parameters, validate and sanitize URL inputs, parse form-urlencoded POST data, build API endpoint URLs programmatically, handle internationalized URLs (IRIs). SEO specialists encode canonical URLs, create properly formatted sitemap entries, encode meta tag URLs with special characters. QA testers verify URL encoding behavior, test edge cases with Unicode and special characters, debug URL parsing issues.

Understanding Encoding Modes

encodeURIComponent is the most aggressive encoding mode, converting all characters except A-Z a-z 0-9 - _ . ! ~ * ' ( ) into percent-encoded format. Use this for query parameter values, form data, path segments, or any content that needs maximum encoding. Example: "hello world" becomes "hello%20world", "user@example.com" becomes "user%40example.com". encodeURI preserves URL structure by not encoding : / ? # [ ] @ ! $ & ' ( ) * + , ; = characters, making it suitable for encoding complete URLs while keeping the structure intact. Use for full URL strings where you want to preserve the protocol, domain, path, and query string separators. Example: "https://example.com/search?q=hello world" becomes "https://example.com/search?q=hello%20world". form-urlencoded (application/x-www-form-urlencoded) works like encodeURIComponent but encodes spaces as + instead of %20, matching the format used by HTML form submissions and some legacy APIs. Use for HTML form POST data or APIs expecting this format.

Supported Features

URL encoding handles comprehensive character sets: ASCII special characters (space, !, @, #, $, %, ^, &, *, etc.) convert to %20, %21, %40, %23, %24, %25, %5E, %26, %2A respectively. Full UTF-8 Unicode support encodes Cyrillic (Привіт → %D0%9F%D1%80%D0%B8%D0%B2%D1%96%D1%82), Chinese (你好 → %E4%BD%A0%E5%A5%BD), Arabic (مرحبا), emoji (😊 → %F0%9F%98%8A), and all other Unicode characters correctly. URL decoding automatically detects and decodes standard %XX sequences, handles + as space in form-encoded data, validates percent-encoding format, reports malformed sequences with exact position, and preserves already-decoded text. Batch mode processes multiple URLs or strings line by line, maintains order, and provides detailed error messages for invalid encoding on specific lines.

Technical Features

The tool uses browser-native encodeURIComponent and encodeURI functions with proper UTF-8 handling, generates RFC 3986 compliant percent-encoded output, correctly handles multi-byte UTF-8 characters (2-4 bytes), validates percent-encoding during decode (detects malformed %XX sequences), handles mixed encoded/non-encoded input gracefully, supports both %20 and + for spaces during decode, provides line-by-line batch processing with error pinpointing, and works consistently across all modern browsers. Error messages identify exact invalid characters or sequences with their position for easy debugging. The tool includes copy-to-clipboard, download options, swap functionality for roundtrip testing, and visual indicators showing which encoding mode is active.

Privacy and Security

Unlike online URL encoders that send your data to remote servers, this tool processes everything locally in your browser using JavaScript. Your URLs with query parameters, API endpoints, OAuth tokens, redirect URLs, search terms, user input data, or any URL content never leave your computer, making it completely safe for encoding production URLs with sensitive parameters. No cookies, tracking, data storage, or server communication. Perfect for working with API keys in query strings, authentication tokens, user-generated content, internal application URLs, staging server endpoints, or any URLs containing confidential information. Your URLs and parameters remain 100% private and secure on your device. Note: URL encoding is not encryption—it only ensures safe transmission, not security.

Three encode modes

encodeURIComponent for query values, encodeURI for full URLs, or form-urlencoded for HTML form data (spaces → +).

Full Unicode support

Correctly encodes and decodes Cyrillic, CJK, Arabic, emoji, and any other UTF-8 characters.

Batch processing

Encode or decode multiple URLs or strings at once — one per line. Pinpoints the exact invalid sequence on error.