Skip to content

URL Encode/Decode

Encode or decode URL-encoded strings. Handle special characters in URLs.

URL-Encoded Output
function($$renderer3) { { $$renderer3.push("<!--[-1-->"); } $$renderer3.push(`<!--]--> `); if (output) { $$renderer3.push("<!--[0-->"); $$renderer3.push(`<div><div class="text-xs font-medium text-(--color-text-muted) mb-1">${escape_html2("URL-Encoded Output")}</div> <div class="font-mono text-sm p-3 rounded bg-(--color-surface-alt) break-all select-all whitespace-pre-wrap">${escape_html2(output)}</div></div>`); } else { $$renderer3.push("<!--[-1-->"); } $$renderer3.push(`<!--]-->`); }

URL encoding (percent-encoding) replaces characters that have special meaning or aren't allowed in a URL — spaces, &, ?, /, and non-ASCII text — with a % followed by their byte values, so data survives inside links and query strings. Use this tool to encode text for safe use in a URL or decode an encoded string back to readable form. It runs entirely in your browser.

Frequently asked questions

What is URL encoding?

A way to represent characters that are unsafe or reserved in URLs using a percent sign and their UTF-8 byte values, such as %20 for a space.

When do I need it?

Whenever you put arbitrary text into a query parameter or path — search terms, email addresses, or anything with spaces and symbols.

What’s the difference between encodeURI and encodeURIComponent?

encodeURIComponent escapes more characters and is for individual values; encodeURI preserves overall URL structure. This tool encodes a full component.

Why did + or %20 appear for a space?

Both can represent a space: %20 is standard in paths, while + appears in some query-string contexts. This tool uses percent-encoding.

Does it handle non-English characters?

Yes. Text is treated as UTF-8, so accents, emoji, and non-Latin scripts encode and decode correctly.