Open research utility · v1.0

Normalize AI-answer citation URLs before you count sources.

Turn copied citation URLs into transparent comparison keys, expose duplicate tracking variants, measure publisher concentration, and export an audit ledger. Everything runs locally in your browser.

Important: a normalized comparison key is not a publisher-declared canonical URL. This utility does not fetch pages, follow redirects, inspect canonical tags, or judge source quality.

1. Paste observed citation URLs

One URL per line. Extra text is allowed when the line contains one complete http or https URL.

The example domains are reserved placeholders and do not represent real AI-answer evidence.

2. Review the comparison ledger

Duplicates are calculated from normalized keys, not from live canonical or redirect checks.

0valid observations
0unique URL keys
0unique publishers
0duplicate variants
Run the synthetic example to calculate publisher concentration.
No observations analyzed yet.

Methodology and audit boundaries

AI-answer citation exports often contain tracking parameters, fragments, repeated paths, or multiple observations from the same publisher. A stable local comparison key reduces accidental double-counting while keeping the original URL beside every transformation. The companion citation URL normalization protocol documents the rules and audit boundaries.

1 · Preserve raw input

Keep the exact observed URL and a dated answer snapshot outside this tool. The export includes the original string for auditability.

2 · Normalize conservatively

Lowercase the hostname, remove fragments, remove selected tracking parameters, and preserve path/query meaning.

3 · Separate counts

Report observations, unique URL keys, and unique publishers as different measures. They answer different questions.

4 · Verify manually

For consequential analysis, follow redirects and inspect publisher canonicals, content equivalence, dates, and source roles.

TransformationDefaultReason and caveat
Lowercase hostnameAlwaysDNS hostnames are case-insensitive. Path casing remains untouched because it may be meaningful.
Remove URL fragmentAlwaysFragments are not sent to the server, but they can still identify a section; the original URL remains in the ledger.
Remove analytics parametersOnKnown click/analytics IDs commonly create duplicate variants. Unknown parameters are retained.
Remove referral parametersOffReferral fields can be meaningful to attribution or routing, so removal requires an explicit choice.
Change scheme or resolve redirectNeverHTTP and HTTPS, redirects, and canonical targets require network verification; this client-side utility does not guess.