← All tools

🔗 URL Encoder/Decoder

Encode and decode URLs instantly — convert special characters to percent-encoding

Input — Plain URL
Output — Encoded URL

What is URL encoding?

URL encoding (also known as percent-encoding) is a mechanism defined by RFC 3986 that converts characters not allowed in URLs into a safe transmission format. URLs can only contain a limited set of ASCII characters — letters, digits, and a few specific symbols. Any other character must be replaced by a percent sign (%) followed by two hexadecimal digits representing the byte value. For example, a space becomes %20, an ampersand becomes %26, and a question mark inside a value becomes %3F. URL decoding reverses the process. This is essential when building URLs with search queries, form parameters, file names with spaces, API requests, or any text containing special or international characters.

When should you encode a URL?

Common use cases: building API request URLs with search queries containing spaces or special characters; constructing redirect URLs with parameters; embedding URLs in JSON or query strings; preparing OAuth callback URLs; debugging encoded URLs from server logs; creating affiliate links with tracking parameters; encoding email addresses or phone numbers in mailto/tel links; passing JSON data through URL parameters; and any time you need to safely transmit text containing special characters via HTTP GET requests, browser address bars, or text-based protocols.

Common percent-encoded characters

Space → %20
! → %21
" → %22
# → %23
$ → %24
& → %26
' → %27
( → %28
) → %29
+ → %2B
, → %2C
/ → %2F
: → %3A
; → %3B
= → %3D
? → %3F
@ → %40
Non-ASCII characters (like é, ü, 中, 🔥) are encoded as multi-byte UTF-8 sequences such as %C3%A9 for é.

How to use the URL Encoder/Decoder

1. Choose mode: Encode URL or Decode URL
2. Paste your URL into the input box
3. Click "Convert" to process
4. Copy the result from the output box
5. Use "Swap" to quickly switch input and output for round-trip testing
6. Use "Clear" to reset both boxes

Why use FileTools URL Encoder/Decoder?

✅ 100% free — no signup, no ads in tool, no tracking
✅ Both encode and decode in one tool
✅ UTF-8 support for international characters and emojis
✅ Client-side only — URLs never leave your device
✅ Uses native JavaScript encodeURIComponent for maximum compatibility
✅ Swap button for round-trip testing
✅ Works on Windows, Mac, Linux, Android, iOS — any browser

Frequently Asked Questions

What is URL encoding?

URL encoding (also called percent-encoding) converts special characters into a format that can be safely transmitted in URLs. For example, spaces become %20, ampersands become %26, and question marks become %3F. This is required because URLs can only contain a limited set of ASCII characters per RFC 3986.

When do I need to encode a URL?

You need URL encoding when constructing URLs with query parameters that contain spaces, special characters, or non-ASCII text — such as search queries, form data, file names with spaces, or URLs with international characters. Most programming languages and frameworks handle this automatically, but you may need manual encoding when working with raw URLs, APIs, or debugging.

What is the difference between encodeURI and encodeURIComponent?

encodeURIComponent encodes all special characters including reserved ones like / ? & = — making it safe for query parameter values. encodeURI preserves URL structural characters and is meant for entire URLs. Our tool uses encodeURIComponent for maximum compatibility, which is the correct choice for encoding values within URLs.

Is my URL data sent to your server?

No. All encoding and decoding happens entirely in your browser using JavaScript's native encodeURIComponent and decodeURIComponent methods. Your URLs never leave your device — nothing is uploaded, logged, or stored. This makes the tool safe for confidential URLs containing API keys or sensitive parameters.

Can I encode URLs with international characters?

Yes. The tool fully supports UTF-8 encoding for international characters including Arabic, Chinese, Japanese, Cyrillic, accented Latin characters, and emojis. Each non-ASCII character is converted to a percent-encoded byte sequence that any web server or browser can decode correctly.

☕ Support FileTools

Enter any amount in USD and click PayPal to donate