snaptxt.app

URL Encoder / Decoder

Encode or decode URLs and query parameters. Pick component-level (safe for ?key=value) or full-URI (preserves / ? &). Free, in your browser.

Plain text or URL
Encoded
URL parts
Scheme
https
Host
snaptxt.app
Path
/regex-tester/
Query parameters
KeyValue (decoded)
qhello world
utm_sourcedemo

Your URLs stay on your device.

Encoding, decoding, and parsing all happen in your browser via the standard URL API. Nothing is sent to a server.

How to use it

  1. 1Pick a direction — Encode or Decode.
  2. 2Pick a scope — Component (for a value inside ?key=value, escapes reserved chars too) or Full URI (for a whole URL, keeps / ? & = intact).
  3. 3Paste your input on the left. The encoded or decoded result appears on the right and updates as you type.
  4. 4If your input is a complete URL, the page also breaks it down into scheme, host, path, and a table of decoded query parameters.
  5. 5Use Swap to move the result back into the input and flip the direction — handy for round-trip checks.

Common use cases

  • Decode a long URL someone pasted in chat or email to see what query parameters it actually carries.
  • Encode a search string with spaces or special characters before stuffing it into a query parameter.
  • Inspect tracking parameters (utm_source, gclid, fbclid) on a marketing link.
  • Build a deep link by URL-encoding the destination path you want to pass as a value.
  • Convert between component-level encoding (the safe default for values) and full-URI encoding (for whole URLs).

Frequently asked questions

What's the difference between Component and Full URI?
Component uses encodeURIComponent / decodeURIComponent — it escapes reserved characters like / ? & = # so the result is safe to drop into a query parameter value. Full URI uses encodeURI / decodeURI — it leaves those reserved characters alone, so a whole URL stays parseable. If unsure, pick Component for a value, Full URI for a whole URL.
Why is + decoded as a space sometimes but not others?
Percent-encoding strictly uses %20 for spaces. The + form is a legacy convention from application/x-www-form-urlencoded (HTML form submissions). The decode functions here follow the percent-encoding spec, so + stays as +. If you need form-style decoding, replace + with %20 before decoding.
Is my input sent anywhere?
No. Encoding, decoding, and URL parsing run entirely in your browser using the built-in URL and encodeURIComponent APIs.
Why does the URL parts breakdown sometimes disappear?
It only renders when the input parses as an absolute URL — that means a scheme (https://, mailto:, etc.) is present. Strings without a scheme can't be unambiguously parsed, so the breakdown hides itself rather than guess.
Can it handle international (Unicode) URLs?
Yes. Modern browsers' URL parser handles IDN hostnames and Unicode characters in paths and queries. The encoders produce percent-encoded UTF-8, which every server understands.