🔗 URL Tool

Free Online URL Encoder & Decoder

Encode, decode, parse query strings, convert Base64, bulk process and compare — the most advanced URL tool online.

URL Encode URL Decode Base64 Query Parser Bulk Encode Diff View Auto-detect 100% Private
Input — Text or URL to Encode 0 chars
⚙️ Advanced Options
Extra Options
↓
Encoded Output
Input — Encoded URL or Text 0 chars
⚙️ Advanced Options
↓
Decoded Output
⚙️ Operation & Options
Input Text 0 chars
↓
Output
Base64 image preview
Full URL or Query String 0 chars
⚙️ Options
Input — One URL / text per line 0 lines
⚙️ Bulk Options

What Is URL Encoding and Why Is It Needed?

URL encoding, also known as percent-encoding, is a mechanism for encoding information in a Uniform Resource Identifier (URI) in a way that is safe for transmission over the internet. The internet was originally designed to handle only the basic ASCII character set, which means characters like spaces, special symbols, non-English letters, and reserved characters cannot be transmitted in a URL without being encoded first.

When you include characters like spaces, &, =, +, /, ?, #, or non-ASCII characters (like Arabic, Chinese, or accented European letters) directly in a URL, the browser or server may misinterpret them as part of the URL structure rather than as data. URL encoding replaces these characters with a percent sign (%) followed by two hexadecimal digits representing the character's ASCII code. For example, a space becomes %20, & becomes %26, and = becomes %3D.

This tool provides five powerful modes to handle any URL encoding task — from simple single URL encoding and decoding, to Base64 conversion, query string parsing, and bulk processing of hundreds of URLs at once.

🔒
URL Encode
Encode any text or URL with advanced options including method, case, safe chars and diff view.
🔓
URL Decode
Decode percent-encoded URLs with support for multiple passes, plus encoding and auto-detect.
🔡
Base64
Encode or decode Base64, with URL-safe variant, file upload support and data URI output.
🔍
Query Parser
Parse any URL into its components and display all query parameters in a clean table with JSON/CSV export.
📋
Bulk Processing
Encode or decode hundreds of URLs at once — one per line — with JSON, CSV or plain text output.
🔒
100% Private
Every operation runs entirely in your browser. No URLs or data are ever sent to any server.

How to Use This URL Encoder

  1. 1
    Select a mode from the tabsChoose URL Encode, URL Decode, Base64, Query Parser or Bulk depending on what you need to do. Each mode has its own dedicated interface with advanced options.
  2. 2
    Paste your inputPaste your URL, text, query string or Base64 string into the input area. For Bulk mode, enter one URL or text per line. Samples are available via the Sample button.
  3. 3
    Configure advanced optionsExpand the options panel to choose your encoding method (encodeURIComponent vs encodeURI vs plus encoding), output case, custom safe characters, decode passes and more.
  4. 4
    Enable live preview (optional)Toggle the Live Preview chip to see results update automatically as you type, without needing to click the button. Great for quick experimentation.
  5. 5
    Click the action buttonHit Encode, Decode, Convert, Parse or Process to run the operation. Results appear instantly with character statistics and an optional diff view.
  6. 6
    Copy or download your resultsUse the Copy button to copy to clipboard, or Download to save the output as a text file. For Query Parser, export as JSON or CSV directly.

Common URL Encoding Reference

Here are the most commonly encoded characters in URLs and their percent-encoded equivalents. These are the characters most frequently causing issues in URLs, API calls, and web forms:

CharacterEncoded (%XX)NameUse Case
(space)%20SpaceMost common — in search queries and paths
&%26AmpersandQuery string separator — must encode in values
=%3DEqualsKey-value separator — encode in values
+%2BPlusSometimes used as space in form data
/%2FSlashPath separator — encode when in data
?%3FQuestion markQuery string start — encode in values
#%23HashFragment identifier — encode in query values
@%40At signEmail addresses in URLs
:%3AColonProtocol separator — encode in data
%%25PercentMust encode to avoid misinterpretation
  • encodeURIComponent is the right choice for encoding individual query parameter values or path segments — it encodes everything except letters, digits, and - _ . ! ~ * ' ( ).
  • encodeURI is for encoding a complete URL — it leaves the structural characters like : / ? # & = intact and only encodes unsafe characters.
  • Plus encoding (+) is used in HTML form submissions where spaces are encoded as + instead of %20. Use decodeURIComponent after replacing + with spaces when decoding.
Frequently Asked Questions
encodeURI is designed to encode a complete URL — it leaves structural characters like :, /, ?, #, &, and = untouched because they are part of the URL structure. encodeURIComponent encodes everything except letters, digits, and a few special characters, making it suitable for encoding individual query parameter values or path segments where you want the entire string treated as data rather than URL structure.
Plus encoding, also called application/x-www-form-urlencoded, encodes spaces as + instead of %20. This format is used by HTML forms when submitting data via GET or POST. When decoding, you must first replace all + characters with spaces, then apply standard URL decoding. Our tool handles this automatically when you select "Plus encoding" mode.
Base64 is a binary-to-text encoding scheme that converts binary data (or text) into a string of ASCII characters using a 64-character alphabet. It is commonly used to encode images, files or binary data for transmission in text-based protocols like email or HTTP. URL encoding, on the other hand, specifically replaces unsafe URL characters with percent-encoded equivalents. Base64 is not URL-safe by default — the URL-safe variant replaces + with - and / with _ to make it safe for use in URLs.
Double encoding occurs when an already-encoded URL is encoded again, turning %20 into %2520 (because % itself gets encoded as %25). This commonly happens when encoding is applied multiple times — for example, by an application layer and then a framework layer. Our decoder supports multiple decode passes (1, 2, or 3) to handle double or triple encoded strings, and the encoder has a "double encode existing %" option to intentionally produce double-encoded output.
The Query String Parser extracts the query string portion from a full URL (the part after the ? mark), splits it into individual key-value pairs separated by &, and decodes each value. It displays the results in a structured table showing the raw encoded value and the decoded value side by side. You can also export the parsed parameters as a JSON object or CSV file for use in your code or spreadsheets.
Yes — completely. Every operation runs entirely within your browser using JavaScript. No input text, URLs, or encoded/decoded data is ever sent to any server, stored in a database, or logged anywhere. Your data stays on your device at all times, making this tool safe to use even with passwords, API keys, or other sensitive strings.
The Bulk mode can handle hundreds or even thousands of lines in one operation — the only practical limit is your browser's memory. For very large datasets (tens of thousands of URLs), processing may take a second or two but will complete successfully. The results can be downloaded as a text file, JSON array or CSV for easy integration with other tools.