converters

Free URL Encoder & Decoder: Full-Featured URL Tool

Encode or decode URLs instantly. Full-component mode, recursive decode, each-line batch, uppercase hex, smart paste, and a live URL breakdown panel with editable query params.

100% Free
Privacy Focused
Instant Results
Works Everywhere
URL Encoder/Decoder

Encode or decode URLs instantly. Full-component mode, recursive decode, each-line batch, uppercase hex, smart paste, and a live URL breakdown panel with editable query params.

Plain URL / Text
Encoded Output
About This Tool

What is URL Encoder/Decoder?

URL encoding converts characters that are not allowed in a URL into a percent-encoded form - spaces become %20, ampersands become %26, and Unicode characters become their UTF-8 byte sequences prefixed with percent signs. This URL Encoder and Decoder handles both directions, covering query string encoding, component encoding, and full URL encoding.

Paste any string and the encoder outputs the percent-encoded form compliant with RFC 3986. Three encoding modes cover the most common scenarios: query string encoding replaces spaces with + signs (the format used in HTML form submissions and most search query parameters); component encoding replaces spaces and all reserved characters with percent sequences (for encoding individual URL segments); and full URL encoding leaves the URL structure intact while encoding only the characters that are illegal in any URL position.

The decoder accepts any percent-encoded string and converts it back to readable text. Useful when reading encoded URLs from server logs, debugging API requests where query parameters contain special characters, decoding OAuth redirect URIs, or inspecting encoded webhook payloads.

Common encoding scenarios: building query strings that include user-supplied search terms with spaces or punctuation; encoding file names or paths for use in URLs; encoding redirect_uri parameters for OAuth flows; and preparing API endpoints that include special characters like brackets (arrays in query strings) or colons (namespaced parameters).

Works with both ASCII and Unicode input - emoji, accented characters, Chinese, Arabic, and other non-Latin characters are encoded to their correct UTF-8 percent-encoded byte sequences.

Features

Powerful Features

Everything you need in one amazing tool

Encode & Decode

Switch between modes instantly. Smart paste auto-detects encoded text and switches mode.

Full Component Mode

Toggle between encodeURI (keeps URL structure intact) and encodeURIComponent (encodes everything).

Each-Line & Recursive

Encode/decode every line independently, or recursively decode double-encoded strings (%2520 → space).

URL Breakdown Panel

Auto-parses valid URLs into color-coded segments: Protocol, Host, Path, Query, Hash. Click any to copy.

Query Params Editor

View, add, edit, and delete individual key=value query params. Apply changes to rebuild the full URL.

Uppercase Hex Option

Output %2F or %2f - toggle uppercase hex to match your codebase or API spec.

Simple Process

How It Works

Get started in 4 easy steps

1

Paste or Type

Paste a plain URL or encoded string. Smart paste auto-detects encoded input and switches to Decode mode.

2

Configure Options

Choose Full Component vs standard mode, toggle Each Line, Recursive, Uppercase Hex as needed.

3

See Breakdown

If input is a valid URL, the breakdown panel appears - segments, query params table, copy buttons.

4

Copy or Rebuild

Copy the encoded/decoded output, edit query params and apply to rebuild the URL, or download as a file.

Why Us

Why Choose Our URL Encoder/Decoder?

Stand out from the competition

Smart Paste

Detects %XX patterns on paste and auto-switches to Decode mode. No manual mode guessing.

URL Breakdown

Color-coded anatomy shows exactly what each URL segment is. Click any part to copy instantly.

Live Params Editor

Edit query params in a table, then apply to rebuild the full URL. No manual string manipulation.

Recursive Decode

Handles double and triple-encoded URLs. Decodes %2520 all the way to a readable space.

RFC 3986 Standards

Choose between encodeURI and encodeURIComponent - both RFC 3986 compliant encoding modes.

100% Private

All encoding and decoding runs locally in your browser. Your URLs never leave your device.

Use Cases

Perfect For

See how others are using this tool

REST API Development

Encode query parameters before appending them to API endpoints. Safely handle spaces, ampersands, and non-ASCII characters in request URLs without breaking the structure.

Debug Network Requests

Paste a percent-encoded URL from browser DevTools, Postman, or server logs and instantly decode it to a readable form. Understand exactly what data is being transmitted.

Build & Edit Query Strings

Use the Query Params Editor to add, edit, or remove individual key=value pairs visually, then apply to rebuild the full URL. No manual string construction needed.

Fix Double-Encoded URLs

Enable Recursive Decode to unwrap URLs encoded multiple times (e.g. %2520 → %20 → space). Handles up to 16 rounds - perfect for CDN or proxy-generated URLs.

Batch Encode Values

Turn on Each-Line mode to encode or decode a list of values simultaneously - one per line. Ideal for bulk-encoding query values, slugs, or redirect targets.

Produce Shareable Links

Encode full URLs containing special characters or emojis before embedding them in emails, social posts, or HTML href attributes to ensure they open correctly everywhere.

Frequently Asked Questions

Everything you need to know about URL Encoder/Decoder

URL encoding, also called percent encoding, converts characters that are not allowed or have special meaning in a URL into a safe format. Each unsafe character is replaced by a percent sign (%) followed by its two-digit hexadecimal ASCII code - for example, a space becomes %20, an ampersand becomes %26, and a euro sign becomes %E2%82%AC. This is required because URLs can only contain a defined set of ASCII characters. Without encoding, special characters like &, =, and ? would be misinterpreted as URL syntax rather than data.

encodeURI() is designed for encoding a complete URL. It leaves structural characters such as :, /, ?, &, =, @, and # untouched so the URL remains valid. Use it when you have a full URL and only want to clean up unsafe characters. encodeURIComponent() encodes everything except A-Z, a-z, 0-9, -, _, ., ~, and * - including structural characters. Use it for individual query parameter keys and values, path segments, or any user-supplied string being inserted into a URL. Our "Full Component" toggle switches between these two modes.

Double encoding happens when a URL-encoded string is encoded a second time. For example, a space first becomes %20, then encoding that again turns %20 into %2520. This can occur when URLs pass through proxies, CDNs, redirect handlers, or frameworks that encode values without checking whether they are already encoded. Recursive Decode unrolls each layer one round at a time - up to 16 rounds - until no further %XX sequences can be decoded. Enable it whenever you see patterns like %2520, %253A, or %2526 in your encoded strings.

When the input (in Encode mode) or the output (in Decode mode) is a valid, parseable URL, the Breakdown panel appears automatically below the text areas. It color-codes the URL into five segments: Protocol (blue), Host (green), Path (slate), Query string (orange), and Hash (purple). Clicking any segment copies its value to the clipboard. The Query Parameters table below lists every key=value pair in the query string as editable inputs. You can modify values, add new parameters with the Add Param button, or delete rows. Pressing Apply to Input rebuilds the complete URL and places it in the input field ready to encode.

Each-Line mode processes your input line by line instead of as a single string. This is useful when you have a list of values that each need to be independently encoded or decoded - for example, a list of search keywords, a list of paths, or a batch of redirect targets. Without this mode, newline characters themselves would be encoded, turning your multi-line input into a single mangled string. With it, the structure of your list is preserved and each line gets its own clean result.

By default, JavaScript's encodeURIComponent produces lowercase hex digits - for example %2f, %3a, %20. The Uppercase Hex toggle converts all hex pairs to uppercase: %2F, %3A, %20. Both forms are functionally identical according to RFC 3986, but some APIs, code style guides, or security scanners require uppercase. Toggle it on to match your codebase or API specification.

No data is sent anywhere. All encoding, decoding, and URL parsing runs entirely in your browser using the built-in JavaScript functions encodeURI, encodeURIComponent, decodeURIComponent, and the WHATWG URL API. Nothing leaves your device. This means it is completely safe to use with sensitive URLs, API keys in query strings, authentication tokens, or any confidential data that requires URL encoding. The tool also works fully offline once the page has loaded.

Ready to Build Your Own Website?

Use our free tools to perfect your content and design, then build your full website yourself. No code needed, no developers to hire, no waiting.

Free forever plan
• No credit card required