1. Your statement
Needs a date, a description and an amount (or debit and credit) column. Column names are matched by alias and unverified against real bank exports. Six months is the least that works well; twelve also catches yearly charges.
Choose the export file or paste it, then click Find subscriptions.
Result
Recurring charges
Tick the ones you would cancel to see what it saves. Ended charges are not counted.
| Cancel? | Merchant | Pattern | Amount | Per month | Per year | Last charge | Next expected |
|---|
Recurring money charged each month
Only the charges counted as recurring above, including ended ones. A first or last month the export covers only in part is marked partial and reads low.
| Month | Charges | Total | Relative size |
|---|
The calendar file puts each monthly, quarterly, six-monthly and yearly charge on its expected next date with a reminder three days before, so you can cancel in time. Dates are guesses from your statement.
The model, and what it leaves out
- Grouping: charges are grouped by a cleaned description: processor prefixes, store numbers, phone numbers, dates and trailing state codes are removed and the first three words kept. Two names for one merchant, or one name for two things, will be grouped wrongly.
- Pattern: a group is recurring when at least 60% of the gaps between charges fit weekly, every two weeks, monthly, quarterly, every six months or yearly. Monthly and quarterly need three charges, six-monthly and yearly need two, weekly and two-weekly need four. Everything but monthly and quarterly must also hold a steady price (within 10%).
- Cost: the median of the last three charges times the number of charges a year. Variable bills use their recent average and are marked not fixed.
- Price rise: a charge at least 2% and 25 cents above the price before it. The yearly effect is the latest price minus the first price, times charges a year.
- Ended: no charge for one and a half cycles before the last date in the file. Ended charges are listed and left out of the totals.
- Same kind: two or more active services whose names match a built-in list of well-known streaming, storage, fitness and software brands. A guess from the name only. About 100 well-known services are recognised, so "NETFLIX.COM" and "NETFLIX INC" become one line with the service's own site shown.
- Reconciles. The per-year figures on the rows add to the total, and the per-month total is a twelfth of it.
- Not modelled: free trials that have not yet billed, which app is behind a charge made through the App Store, Google Play, Amazon or PayPal (those are flagged with where to look, not guessed), bundled and shared plans, taxes and currency conversion, refunds, and anything on a card or account that is not in your file.
- Unverified: column names are matched by alias and no real bank export was available when this was written.
Common questions
How do I find every subscription I am paying for from my bank statement?
Export a few months of transactions from your bank or card as a CSV (date, description, amount), drop it here, and the tool groups charges by merchant and picks out the ones that repeat weekly, monthly, quarterly or yearly at a steady price. Each shows what it costs per month and per year. Six months or more gives the best result, and a year catches the yearly ones.
How does it decide that a charge is a subscription?
It groups charges by a cleaned-up merchant name, then checks whether the gaps between charges fit a weekly, two-weekly, monthly, quarterly, six-monthly or yearly rhythm. Weekly, two-weekly, six-monthly and yearly charges must also keep roughly the same price, so a weekly coffee habit is not called a subscription. Monthly and quarterly bills that change amount, like a phone or power bill, are listed and marked as variable.
Will it find a subscription that only charged once or twice?
Not a monthly one: it needs three charges to call a monthly pattern. A yearly charge needs two, so a file that covers more than a year is needed to catch yearly renewals. A yearly charge that appears once in your file will not be listed.
How does it spot a price increase?
Within a fixed-price subscription, a charge that is at least 2% and 25 cents above the price before it is marked as a rise, with the date and the extra yearly cost. It compares your own charges, not the merchant's published prices.
Are my bank statement and transactions uploaded?
No. The file is read in this browser tab and never leaves your device. There are no accounts, cookies or analytics vendors, and you do not connect to your bank.
Which file formats and column names does it read?
Comma, semicolon or tab separated text, including UTF-16 files, with dollar signs and thousands separators. Columns are matched by alias, for example Date, Posted Date or Transaction Date; Description, Merchant or Payee; Amount, or Debit and Credit. Some banks show purchases as negative numbers and some as positive; the tool works that out and you can override it. No real bank export was available when this was written, so tell us if yours is not read.