URL Forge

Recursively decode URLs, edit query parameters live, and build UTM tracking links.

100% client-side

Input

0 characters

Output


          
—

URL

Parameters

0 parameters

Rebuilt URL

—

Link details

Generated URL

—
—

What is URL Forge?

URLs can only contain a limited set of characters, so spaces, accents and symbols get replaced with codes like %20 — this is called URL encoding, and it's why links sometimes look like garbled text. URL Forge bundles three related tasks in one place: decoding/encoding those codes back to readable text, breaking a URL's query string into individual parameters you can edit, and building UTM-tagged links for tracking marketing campaigns.

How to use URL Forge

  1. Pick a mode at the top: Encode / Decode, Query Parser or UTM Builder.
  2. In Encode/Decode, paste text or a URL into the Input panel, choose Decode or Encode, and click Copy on the result.
  3. In Query Parser, paste a URL to see each query parameter listed separately — use Add parameter to add more, then Copy the rebuilt URL.
  4. In UTM Builder, fill in your base URL and campaign fields, then click Copy to grab the finished tracking link.

How URL encoding and query parsing work

A URL can only contain a limited set of characters safely. Percent-encoding (also called URL encoding) replaces every other character with % followed by its two-digit hex byte value, per RFC 3986. A URL that passes through several systems — a redirect, a tracking pixel, an email link — sometimes gets encoded more than once, which is where recursive decoding helps:

// One pass isn't always enough
%2568%2565%256C%256C%256F  →  %68%65%6C%6C%6F  →  hello
                              (pass 1)             (pass 2)

The query parser and UTM builder use the browser's native URL and URLSearchParams classes instead of hand-written regex, so a value that's itself a percent-encoded URL (like a redirect parameter) is decoded once for editing and re-encoded once on rebuild — it never gets double-encoded by accident.

Frequently asked questions

What does "recursive" decoding mean?

Some URLs get percent-encoded more than once (for example when a link is embedded inside another link). Recursive decoding keeps applying decodeURIComponent until the string stops changing, and shows exactly how many passes it took.

Why does editing a query parameter not corrupt an already-encoded value?

The query table reads and writes parameters through the native URLSearchParams API, which decodes a value once on read and re-encodes it once on write — so a value like a nested URL round-trips correctly instead of getting double-encoded.

Is this safe for tokens, API keys or session URLs?

Yes. Everything runs in your browser with native JavaScript; nothing you paste here is sent to a server.

What are UTM parameters for?

utm_source, utm_medium and utm_campaign (plus optional utm_term and utm_content) are query parameters that analytics tools like Google Analytics use to attribute traffic to a specific link, so you can tell which campaign or channel sent a visitor.