Decoded URL
{{ mainOutput }}
Depth: {{ decode_depth }} “+” → space IDN→Unicode Strip trackers No fragment Trim slash Lower host Remove www. Sort params {{ unicode_normalization }}
Key Value Copy
{{ p.key }} {{ p.value }}
No query parameters
# Char Code point UTF-8 ASCII Unreserved Reserved Copy
{{ r.idx }} {{ r.charDisplay }} {{ r.u }} {{ r.utf8 }} {{ r.isASCII ? 'Yes' : 'No' }} {{ r.isUnreserved ? 'Yes' : 'No' }} {{ r.isReserved ? 'Yes' : 'No' }}
{{ payloadSummary }}

                

                

Introduction:

Simplified chain link illustrating URL cleanup.

Uniform Resource Locators are structured web addresses that pack characters into a safe travel format and often carry parameters and fragments. Decoding reveals the human readable form so you can see the path, the host, and any attached values with clarity.

You paste a text string or a web address and receive a decoded result with optional cleanup of common trackers and tidy host formatting. When a value looks like JSON or Base64, a quick preview helps you check what is actually inside.

Character‑level insight shows code points and whether each mark is considered unreserved or reserved, which helps explain why some symbols appear percent‑encoded. A compact QR preview lets you share short results in one scan.

Always review a decoded link before opening it, especially when it comes from an untrusted source.

Technical Details:

Uniform Resource Locator (URL) strings are observed along with their characters, query parameters, and fragments. Decoding turns percent escapes into Unicode characters and can translate plus signs to spaces when that convention is expected. Hostnames can be shown in their international form by converting from Punycode, and Unicode text can be normalized to NFC or NFKC for consistent comparison. Reserved and unreserved sets follow the familiar URI model from RFC 3986.

Computation proceeds by iterative decoding up to a chosen depth, with an optional pre‑pass that treats "+" as a space. If the string parses as a URL, the engine can remove known tracking parameters, drop fragments, lowercase the host, remove a leading “www.”, normalize dot segments in the path, collapse repeated slashes, and sort or de‑duplicate query parameters. Default ports for HTTP and HTTPS may be removed, userinfo can be stripped, and percent‑escape hex digits can be normalized in case. A QR code is produced for results up to 2000 characters.

Results are explained at two levels. A parameters view lists keys and values, sorted by key then value for quick scanning. A character view reports code points, UTF‑8 bytes, and flags for ASCII, unreserved, and reserved membership.

Comparability improves when the same normalization, decode depth, and parameter policies are kept across runs. Sorting parameters changes ordering but not meaning, while de‑duplication strategies can change which values survive.

Processing pipeline

  1. Take input text as a string.
  2. Repeat up to 1 to 12 iterations: apply optional “+ to space”, then percent‑decode.
  3. Apply optional Unicode normalization NFC or NFKC.
  4. If parseable as a URL, optionally: enforce scheme, remove userinfo, strip trackers, clean parameters, drop fragment, normalize path, and adjust host casing and prefix.
  5. Optionally remove default port and unify percent‑escape case.
  6. Emit final string, then derive parameters, character table, payload, and QR.
Symbols and variables used
Symbol Meaning Unit/Datatype Source
s Input string String Input
d Decode depth Integer (1–12) Input
+ Treat plus as space before decoding Boolean Input
N Unicode normalization form Enum (NFC/NFKC/none) Input
IDN Convert Punycode hostname to Unicode Boolean Input
Trackers Remove utm_*, gclid, fbclid, and peers Boolean Input
Params Sort, remove empties, or de‑duplicate Enum (none/first/last/unique) Input
QR QR preview eligibility Length ≤ 2000 Derived
Worked example

Input: http://www.Example.com:80/%7Eme?q=%2Bplus+sign&fbclid=ABC#frag

Settings: depth 2, “+ to space” on, IDN on, strip trackers on, remove fragment on, lowercase host on, remove www. on, remove default port on, percent case upper.

Result: http://example.com/~me?q=%20plus%20sign

Explanation: percent escapes are decoded, “fbclid” is removed, the host is normalized, the fragment is dropped, and the default port for HTTP is omitted.

Validation and bounds derived from the interface
Field Type Min Max Step/Pattern Error Text Placeholder
Text or URL String None (raw fallback on decode failure) https://example.com/?q=%2Bplus or example.com/%7Eme
Decode depth Number 1 12 Step 1 None
Unicode normalization Enum NFC, NFKC, none None (none)
I/O formats and encoding
Input Accepted Families Output Encoding/Precision Rounding
Text or URL Absolute URL, schemeless host, plain text Decoded string; optional QR; CSV/JSON exports Unicode, UTF‑8 bytes in character view Not applicable

Networking & storage

Processing is client‑only. Clipboard copy uses the platform API. Downloads are generated locally as CSV, JSON, text, or PNG for the QR preview.

Diagnostics & determinism

With identical inputs and options, outputs are deterministic. If percent decoding fails at any pass, the original text is preserved for safety.

Security considerations

  • Opening a result does not assess destination safety; review links before visiting.
  • Remove userinfo to avoid exposing credentials that may appear before @.
  • Sorting or de‑duplicating parameters can change semantics on some endpoints.
  • Tracker removal uses a fixed allowlist of patterns; uncommon tags may remain.

Assumptions & limitations

  • “+ to space” follows form‑style semantics and will convert literal plus signs.
  • Decode depth limits nested encodings to 12 iterations.
  • QR preview is available only when the result is 2000 characters or shorter.
  • International hostname conversion applies only when a hostname is present.
  • Dot‑segment normalization affects path comparison but not server routing.
  • Default port removal covers HTTP and HTTPS only.
  • Case normalization affects percent‑escape hex digits, not actual bytes.
  • Heads‑up Base64 detection is heuristic and may trigger on look‑alike text.
  • JSON detection requires valid syntax with double‑quoted keys and strings.
  • Parameters are displayed sorted; display order may differ from original order.
  • Open action is enabled only for HTTP and HTTPS results.
  • Character view reports UTF‑8 bytes; surrogate issues are handled by the platform.

Edge cases & error sources

  • Invalid percent triplets cause decoding to stop early.
  • Mixed percent‑escape casing is cosmetic until normalized.
  • Duplicate parameters may collapse depending on the chosen strategy.
  • Empty parameter values can be removed when cleanup is enabled.
  • Non‑ASCII punctuation may appear after normalization and alter comparisons.
  • Space characters in results are re‑encoded when converting back to URL form.
  • Unicode normalization can fold visually distinct characters together.
  • Collapsed slashes may change path semantics on unconventional servers.
  • Dot‑segment removal can change relative path resolution.
  • Large payloads truncate in previews; download to inspect fully.
  • QR export is unavailable when the preview is not ready.
  • Clipboard operations may be blocked by permissions or insecure contexts.
  • Parsing schemeless text requires a hostname‑like shape or localhost.
  • Malformed JSON or Base64 yields a text fallback rather than an exception.

Scientific & standards backing

  • IETF specification for Uniform Resource Identifier syntax.
  • Unicode Standard Annex on normalization forms NFC and NFKC.
  • UTF‑8 encoding definition for code unit to byte mapping.
  • Internationalized domain names and Punycode representation.

Privacy & compliance

No data is transmitted or stored server‑side. Use caution with sensitive links and tokens when sharing outputs.

Step‑by‑Step Guide:

URL decoding and cleanup with character inspection.

  1. Paste Text or URL into the input.
  2. Pick a decode depth 1 to 12.
  3. Enable “+ to space” if values came from forms.
  4. Choose NFC or NFKC to normalize Unicode.
  5. Toggle cleanup: strip trackers, drop fragments, tidy host or path.
  6. Review parameters, payload preview, and QR.
  7. Copy the result or export details as needed.

Example: Paste example.com/%7Eme?q=%7B%22x%22%3A1%7D, set depth to 2, and view the JSON payload under “Payload”.

  • If a result looks suspicious, do not open it. Caution

FAQ:

Is my data stored?

No. All decoding and previews happen in your browser, and copies or downloads are generated locally.

Clipboard and file saves use local APIs.
Why did plus signs become spaces?

The “+ to space” option treats “+” as a space before each pass. Turn it off if “+” is a literal character.

Form submissions often encode spaces as “+”.
What does “reserved” mean?

Reserved characters have special roles in URIs and are commonly percent‑encoded when used as data.

Examples include ?, &, and #.
How are UTF‑8 bytes shown?

Each character is encoded with the platform UTF‑8 encoder and displayed as hex byte values.

Spaces show as ␣ for visibility.
Does it work without a connection?

Yes, once the page has loaded. All operations run locally and do not require network requests.

Reloading may need connectivity to fetch assets.
How do I strip tracking parameters?

Enable tracker removal. Known keys such as utm_*, gclid, and fbclid are removed.

Unknown tags are left untouched.
What happens if JSON parsing fails?

You will see a text preview instead. The tool avoids throwing errors on malformed input.

Fix quotes and braces, then try again.
Is there a cost or license?

No license text is declared in this package. Usage terms follow the host site or application.

Check your organization’s policy before sharing data.

Troubleshooting:

  • “Open” is disabled when the result is not HTTP or HTTPS.
  • QR button stays disabled when the result exceeds 2000 characters.
  • Copy fails when clipboard permissions are blocked; try a secure context.
  • Parameters show empty values if cleanup is off; enable removal to hide empties.
  • International hostnames unchanged? Turn on IDN conversion.
  • Unexpected spaces? Turn off “+ to space”.
  • Order looks different? Display is sorted by key then value.
  • Payload not detected? Ensure JSON uses double quotes and Base64 is clean.

Glossary:

URL
Web address with scheme, host, path, query, and fragment.
URI
Identifier syntax that URLs follow.
Percent‑encoding
Hex escape form for bytes, written as % plus two hex digits.
Reserved set
Characters with special roles in URI syntax.
Unreserved set
Letters, digits, and a few marks safe without encoding.
Fragment
Anchor portion starting with # after the query.
IDN
Internationalized domain name shown in native script.
Punycode
ASCII form of international hostnames.
NFC/NFKC
Unicode normalization forms for consistent text.
UTF‑8
Byte encoding for Unicode characters.
Query parameter
Key and value pair after ? and separated by &.
Dot segments
Path elements “.” and “..” used for navigation.