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 your recurring charges — the ones that deserve a deliberate "keep or cancel" decision rather than a shrug. For each one, the report links to our reviewed charge page so you can see the company behind the descriptor, how it bills, and how to cancel it.
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 reviewed charges. 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, verified against merchant and bank sources before they go live.
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 60-day dispute window calculator — the deadline math in those tools matches the FCBA and Reg E timelines this report assumes.
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.
If your bank exports PDFs instead of CSV, use the PDF statement decoder first and paste the decoded lines here. For a quick single-file pass without the recurrence analysis, the CSV statement scanner is the lighter option.
What the Lab Does Not Do
It is not a fraud detector: if a charge is unauthorized, call your issuer immediately. It does not see your files — nothing leaves this page. And it never guesses a merchant: every verdict chip comes from a charge page we have reviewed with cited sources, and anything else is labeled "not in our database." Recency matters too — a descriptor that matched a reviewed page a year ago may be a different merchant today, which is why every charge page carries its last-reviewed date.
Frequently asked questions
Why do I need to upload two or more statements?
A single month can't prove that a charge is recurring. The lab flags a descriptor as recurring only when the same billing name appears in at least two different months, which is the minimum evidence that a subscription is active rather than a one-off purchase.
Is my bank data uploaded to a server?
No. The CSV files are parsed locally by your browser and never transmitted. The lab has no backend, no analytics, and no cloud storage. When you close the tab, the data is gone.
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 — most issuers have 24/7 fraud lines.
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.