ToolMint

URL Encoder / Decoder – Encode, Decode & Parse URLs

Encode URLs using 4 percent-encoding methods or decode them with 3 methods β€” including form-urlencoded and encodeURIComponent. Paste any full URL to instantly break it down into protocol, host, path, and individual query parameters. 100% client-side, nothing sent to any server.

Text / URL to Encode

Input chars
0
Encoded seqs
0
Size diff
Β±0
⚑

Real-time Encoding

Encode or decode URLs instantly as you type β€” no server calls needed.

πŸ”

URL Breakdown

Paste a full URL to see protocol, host, path, and query params parsed out.

πŸ”’

100% Private

Everything runs in your browser. No data is sent anywhere.

Included URL Tools

URL Encoder (4 Methods)

encodeURIComponent, encodeURI, form-urlencoded (+spaces), or spaces-only β€” choose the right method for your use case.

URL Decoder (3 Methods)

decodeURIComponent, decodeURI, or form-urlencoded (+ β†’ space) to reverse any percent-encoded string.

URL Breakdown & Query Parser

Paste any full URL to see protocol, host, path, query string, fragment, and each query parameter listed as key=value pairs.

How to Encode or Decode a URL

1

Choose mode

Select Encode to percent-encode special characters, or Decode to convert a percent-encoded URL back to plain text.

2

Select encoding method

Pick from 4 encode or 3 decode methods depending on whether you're handling query params, form data, or full URLs.

3

Paste your text

Type or paste the URL or text β€” the output updates in real time with character count and size diff stats.

4

Use URL breakdown

Paste a complete URL to split it into protocol, host, path, query, and hash β€” with individual query params listed below.

Percent Encoding: Which Characters Get Encoded and Why

URLs can only contain a limited set of ASCII characters. Characters outside this set β€” spaces, non-ASCII letters, and certain punctuation β€” must be percent-encoded as a % followed by the two-digit hex code of the byte value. Space becomes %20. The ampersand& becomes %26. A Hindi character like β€˜β€™ encodes as its UTF-8 byte sequence in percent notation. Reserved characters (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) have structural meaning in URLs β€” whether to encode them depends on context. Inside a query parameter value, & must be encoded as %26 or it will be interpreted as a parameter separator. In a full URL, & should stay as-is. This is exactly why encodeURIComponent encodes reserved characters (for query values) while encodeURIleaves them intact (for full URLs).

Debugging URLs with the Query String Parser

Long URLs with multiple query parameters are hard to read in their raw form. The URL breakdown tool splits any URL into its components β€” protocol, host, path, query string, and fragment β€” and lists each query parameter as a separate key-value pair. This is useful for: debugging tracking URLs (UTM parameters), inspecting OAuth redirect URLs, reading complex API endpoint URLs copied from browser developer tools, and verifying that a URL encoder produced the correct output. For example, a URL likehttps://example.com/search?q=hello+world&sort=date&page=2breaks into q = hello world,sort = date,page = 2 β€” instantly readable without manual parsing. Paste any URL from your browser address bar, API response, or log file and the parser handles the decoding automatically.

Frequently Asked Questions

What is the difference between encodeURIComponent and encodeURI?
encodeURIComponent encodes all special characters including :/?# β€” best for individual query parameter values. encodeURI leaves URL-structural characters like :// intact β€” best for encoding a full URL.
What is form-urlencoded encoding?
Form encoding is like encodeURIComponent but replaces spaces with + instead of %20. It is used in HTML form submissions and the application/x-www-form-urlencoded content type.
Can I parse a URL into its components?
Yes. Paste any complete URL and the URL Breakdown section automatically splits it into protocol, host, path, query string, fragment, and individual query parameters.
Is my URL data sent to a server?
No. All encoding, decoding, and URL parsing is done entirely in your browser. Nothing is transmitted anywhere.
How do I decode %20, +, and other encoded characters?
Use Decode mode. Choose decodeURIComponent to convert %20 to a space, or form-urlencoded mode to convert + to a space as well.

Related Tools