LinkDecoder

URL Encoder / Decoder & Pretty Print

Decode multi-encoded URLs, encode strings for safe embedding, and break any URL into its components — with automatic UTM and click ID detection.

Try:

Features

  • Decode URL-encoded strings with one click
  • Recursive decoding — automatically detects and unwraps multi-encoded URLs
  • Encode text or URLs with full or structure-preserving modes
  • Pretty-print any URL into protocol, host, path, query params, and fragment
  • Categorizes parameters: UTM, Click ID, Attribution, Branch, Custom
  • Copy as JSON — export decoded query parameters for spreadsheets or scripts
  • 100% client-side — your URLs never leave your browser

Frequently asked questions

What is URL encoding?

URL encoding (percent-encoding) replaces unsafe characters in a URL with a % sign followed by two hex digits. For example, a space becomes %20 and an ampersand becomes %26. This ensures the URL is valid and parseable by browsers and servers.

What is double (or multi) encoding?

Double encoding happens when an already-encoded string is encoded again. For example, %20 becomes %2520 (the % is encoded to %25). This is common when URLs are passed through multiple systems — like an ad server wrapping a tracking link that wraps a landing page URL. Multi-encoded URLs can break tracking parameters.

When should I use 'Encode all' vs 'Preserve URL structure'?

'Encode all' (encodeURIComponent) encodes every special character — use this when embedding a full URL as a parameter value inside another URL. 'Preserve URL structure' keeps the protocol, host, path, and delimiters intact while encoding only the query values — use this to clean up a URL without breaking its structure.

Why do my UTM parameters look wrong in Google Analytics?

A common cause is double-encoding. If utm_source=google gets encoded to utm_source%3Dgoogle, analytics platforms can't parse it. Use the Decode tab to check if your parameters are over-encoded, and the Pretty Print tab to verify each parameter is correctly separated.

Is my data sent to your server?

No. This tool runs entirely in your browser. Your URLs are never sent to any server — all encoding, decoding, and parsing happens locally using JavaScript.

Need a full link analysis?

Trace redirect chains, compare mobile vs desktop paths, and score link health.

Open LinkDecoder