Cloud Bill Diff
Drop in two billing exports — AWS CUR, GCP billing export, or FOCUS — and get a per-service and per-SKU breakdown of what moved, split into how much came from using more and how much from paying more. Reads the files in your browser; nothing is uploaded.
or drop a CUR, GCP billing export, or FOCUS file here. .csv and .csv.gz.
or drop a CUR, GCP billing export, or FOCUS file here. .csv and .csv.gz.
Your file is read in this browser tab and never uploaded — this page has no backend to upload it to. Open your network tab and watch: no request is made when you drop a file. Resource IDs are hashed by default so a screenshot is safe to share.
Rate or usage — why it is the only question that matters
A service that grew 30% because you deployed more of it and a service that grew 30% because a commitment expired look identical in every totals table ever produced. They need completely different responses: one is a conversation with engineering about whether the growth was intended, the other is a purchasing decision that could be reversed this afternoon.
Splitting them requires computing an effective unit rate, and that is only meaningful at the SKU level — GB-months and vCPU-hours cannot be added together, so an aggregate “quantity” for a whole service is arithmetic nonsense. This tool decomposes at the SKU and then sums the effects upward, which is the difference between a number you can act on and a number that merely looks precise. The long version, with the formulas.
Frequently asked questions
Why did my AWS bill go up?
There are only two possible reasons and they need opposite responses: you used more of something, or you paid more per unit of it. Usage growth is an engineering conversation; a rate rise on flat usage is almost always an expiring Reserved Instance, a lapsed Savings Plan, or a pricing tier you crossed. This tool separates the two per SKU, which a totals table cannot.
What files does it accept?
AWS Cost and Usage Report (both CUR 2.0 from Data Exports and the legacy format), the GCP billing export from BigQuery, and any FOCUS 1.x dataset — which is the best one to bring, because it needs no provider-specific interpretation. CSV and gzipped CSV. Azure works today via a FOCUS export.
Is my billing data uploaded anywhere?
No. This page has no backend at all, so there is no server for it to be sent to. The file is read by your browser and analysed in the tab. Open your network tab while you drop a file and you will see no request. Resource IDs are hashed by default so a screenshot of the results is safe to share.
How do you separate rate from usage?
At each SKU we compute the effective unit rate (cost divided by quantity) for both periods, then split the change symmetrically: the rate effect is the rate movement times the average quantity, and the usage effect is the quantity movement times the average rate. The two always sum exactly to the total change, with no residual to explain away.
Why does the total not match my invoice?
By default the analysis covers usage charges only and normalises both files to a per-day figure, so a 28-day month can be compared fairly against a 31-day one. Tax, credits, and commitment purchases are shown separately as reconciling lines — a Reserved Instance purchase is a cash event, not a change in run rate, and folding it into "usage growth" would be misleading.
Two files is a snapshot. Your bill moves every day.
Finitizer runs this decomposition continuously across AWS and Google Cloud, alerts on the movements that matter, and traces each one back to the resource and the team that owns it — so the answer arrives before the invoice does.