Why Two Months Beats One
A single statement can only tell you that a charge happened. It cannot tell you that the same charge happens again. That difference is the entire business model of subscription billing: many services quietly bill month after month under a descriptor that means nothing to you, and nothing on a one-month statement signals that the charge will repeat.
The Forensics Lab compares the billing names across every file you select and keeps only the descriptors that appear in at least two different months. Those are recurring patterns to investigate. Repeat purchases can look the same as a subscription. When a registry candidate is available, open its entry and read the identity evidence before deciding what the payment represents.
Silent Price Increases Show Up as Drift
Subscription price increases rarely make headlines, and they rarely send you an email you'll actually read. What they always do is change the amount next to a descriptor you've seen before. The lab measures the gap between the lowest and highest amount in each recurring group and flags any group where the high end is at least 5% above the low end.
A few examples of the pattern this catches: a streaming plan that moves from $9.99 to $11.99, a cloud-storage plan that quietly steps up a tier, or a family plan whose member count changed. The flag is a prompt to verify the new price against what you agreed to pay — not a verdict, since some amount movement is legitimate (usage-based billing, late fees, or a one-off add-on in a single month).
Unmatched Descriptors Get a Follow-Up Path
The lab also collects every billing name that matches nothing in our database of charge entries. Instead of a dead end, each unmatched descriptor gets three links: the decoder (paste the full line, including any date, CARD number, or amount — it strips them for you), the browse index, and our report-a-charge form, which opens a pre-filled email that lands in our research queue. That is how this site grows: the descriptors people actually see on their statements. Read each entry’s evidence notes to see what its sources establish.
Turn the Scan Into Evidence
The report is designed to be kept and shown. Save it to a binder stored only in your browser's local storage (one click), and the next scan will tell you which descriptors are new since the last one. Print it for a paper copy of every recurring pattern with months, amount range, and price-change percentage. Export the raw JSON if you keep records elsewhere. If you later need to dispute a charge with your issuer, pair this report with the dispute letter generator and the dispute date reference tool. Check the applicable notice rules with your issuer; this pattern report does not establish a legal deadline.
Formats and Banks
The lab accepts CSV exports from major US institutions, including Chase, Bank of America, Wells Fargo, Citibank, USAA, Capital One, American Express, and Discover. It auto-detects the date, description, and amount columns, and recognizes the header rows banks add to their exports. Comma-separated and tab-separated files both work, and each file is capped at 2,000 rows so a full year of activity fits comfortably.
This lab takes CSV files, not PDF statements or pasted text. Use the PDF statement decoder for individual PDF lines. For a quick single-CSV pass without recurrence analysis, use the CSV statement scanner.
What the Lab Does Not Do
The lab cannot detect fraud or confirm a merchant identity. Matching uses descriptor, alias and company text from the registry to suggest candidates. Check the linked entry’s identity evidence and source limits; many entries still have a pending evidence review. No match means no confident registry candidate, not proof of fraud. CSV contents are processed locally. Saved summaries and tags remain in this browser until you clear them.
Frequently asked questions
Why do I need to upload two or more statements?
The lab flags a recurring pattern when the same normalized billing name appears in at least two different months. This is a reason to check your records, not proof of a subscription or authorization. Repeat purchases can produce the same pattern.
Is my bank data uploaded to a server?
CSV contents are parsed locally and are not uploaded. Scan rows stay in memory. Saved summaries and review tags remain in this browser’s local storage until cleared; exported files remain on your device. Application code sends no analytics events; see the privacy policy for hosting requests and local storage.
Does the lab detect fraud?
It flags unmatched descriptors and unusual recurring patterns, but it is not a fraud detector. If you see a charge you did not authorize, contact your bank or card issuer immediately — use its official contact details.
Security Note: Always confirm you are on the legitimate unknowncharges.com domain before running local tools. Keep your operating system and browser updated to guard against local malware that could read files on your hard drive. The report is informational and is not financial advice.