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

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.