Calculator
The Tag Coverage Analyzer
Drop in two AWS Cost Explorer exports of the same window: all costs, and the same report with untagged resources only. See the real dollar share nobody owns, which services carry it, and whether that share is growing. It never leaves this browser.
Last updated
This is a static site with no backend to upload to. Parsing and analysis happen in your browser's JavaScript, on both files. Check the Network tab while you drop a file in and you'll see nothing sent anywhere.
This result is not saved. It disappears when you reload the page. Copy it as Markdown or download it before you leave.
Read this number for what it is. It covers one tag key: whichever cost allocation tag your export filtered on. It covers one date window. It covers one account scope, so a payer-account export and a linked-account export give different numbers. It reports only what Cost Explorer itself shows, which is not the same as your final invoice.
Free tool
Drop in two exports and see who owns the rest
An AWS Cost Explorer export of all costs, and the same report with untagged resources only. Everything below computes in your browser; neither file is sent anywhere.
File 1 — all costs
.csv only — parsed entirely in your browser
File 2 — untagged only
.csv only — parsed entirely in your browser
Reading your files…
Coverage by period
Which services carry the untagged dollars
Ranked by untagged dollars. "Read" names whether this looks like drift, a service that was never tagged, or a charge that can't carry a tag at all.
| Service | Total | Untagged | % of service untagged | Read |
|---|
Fastest-growing untagged service
What can never be tagged
What this means
This is a static site with no backend to upload to — parsing and analysis run entirely in your browser's JavaScript, on both files. Check the Network tab while you use this tool and you'll see nothing sent anywhere.
How to get both CSVs
Both files come from the same place: AWS Cost Explorer, grouped by Service. The only difference between them is one checkbox.
- Open Cost Explorer and set a window. In the AWS Billing console, open Cost Explorer (Cost Management → Cost Explorer). Set the date range you want checked. A trend needs at least three periods, so pick at least three months or set the granularity to daily.
- Group by "Service". Set "Group by" to Service. Both exports below need the same grouping, or the two files won't line up service by service.
- Download the "all costs" file. Click Download CSV with no advanced options turned on. This is your first file: every service, tagged and untagged alike.
- Turn on "Show only untagged resources". Under Advanced options → Additional data settings, select "Show only untagged resources". This is a real Cost Explorer option, not a workaround; the AWS Cost Management User Guide names it directly (see Sources below).
- Download the "untagged" file. Click Download CSV again with that option still on, same date range, same grouping. This is your second file.
- Drop both files in below. Drag each CSV onto its own drop zone, or click to browse. Nothing is uploaded anywhere; open your browser's Network tab and watch for yourself.
What the report covers
Every number below comes from diffing your two files against each other. Nothing here estimates a saving — this tool answers who owns the spend, not what fixing it is worth.
- Coverage by dollars. The untagged share of the whole window, and of the latest period on its own.
- The trend. The untagged share for each period, with a flag when it's climbing.
- Which services carry it. Every service with untagged spend, ranked by dollars.
- Never tagged vs. drift. For each service, what share of its own spend is untagged — near 100% usually means a tag key nobody activated; a small, nonzero share usually means ordinary drift on new resources.
- The fastest-growing untagged service. Whichever line grew the most across the window.
- What can never be tagged. A subtotal for charges with no resource behind them — data transfer, support, marketplace fees, tax, credits, and Savings Plan or Reserved Instance fees — and the coverage ceiling that leaves.
Sources
Where the export steps on this page come from
Both the "Show only untagged resources" option and the activation trap behind most never-tagged services are attributed to AWS's own docs, current as of 2026-08-27.
- AWS — Choosing advanced options
Verbatim, under Additional data settings: "Show only untagged resources: By default, Cost Explorer includes costs both for resources that have cost allocation tags and for resources that don't have cost allocation tags. To find untagged resources that add to your costs, select Show only untagged resources." This tool asks for exactly that export as its second file.
- AWS — Activating User-Defined Cost Allocation Tags
A user-defined tag must be separately activated in Billing and Cost Management before it appears in Cost Explorer or a Cost and Usage Report. Applying the tag to the resource is not enough on its own — the activation trap behind most services that read near 100% untagged.
FAQ
Common questions about the Tag Coverage Analyzer
Are my exports uploaded anywhere?
No. CostMon's marketing site is a static build with no backend to upload to. Both CSVs you drop in are parsed and analyzed entirely in your browser's JavaScript. Open your browser's Network tab while you use the tool and you'll see no request carrying your data, because there isn't one.
Why does this tool need two files instead of one?
Because there is no confirmed, documented label for "untagged" inside a single Cost Explorer export grouped by tag. "Show only untagged resources" is a real, named Cost Explorer option (see Sources below), so asking for that export by name, alongside the ordinary one, avoids guessing at a label that might be wrong.
What counts as one dollar of coverage here?
A dollar that shows up in the all-costs file and does not show up in the untagged-only file for that same service and period. This tool checks one tag key at a time: whichever cost allocation tag you filtered Cost Explorer by before exporting. A different required tag can have a completely different coverage number.
What does this coverage number not cover?
Four things, and each one moves the number. It reads one tag key, so a different required tag scores differently. It reads one date window, so a longer or shorter export scores differently. It reads one account scope: run the same export from your payer account and from a single linked account, and the two coverage numbers will disagree. It reads only what Cost Explorer shows, so credits, refunds, tax, and commitment amortization land here exactly as Cost Explorer reports them, not as your invoice settles them.
A service reports 100% untagged. Is that always a coverage gap?
Not necessarily. Some charges have no resource behind them to tag at all — data transfer, support plans, marketplace fees, tax, and Savings Plan or Reserved Instance fees. This tool subtracts that subtotal out and shows it on its own. For everything else at or near 100%, the usual cause is a tag key nobody activated in the Billing console. It's rarely a tagging gap on the resources themselves.
What does CostMon mean by tag drift versus never tagged?
A service near 100% untagged was most likely never tagged at all, or its required tag key was never activated. A service with a small, nonzero untagged share is closer to ordinary drift: new resources created outside the usual path before a tag default caught up with them. This tool reports both numbers so you can tell which fix applies.
Does this tool tell me how much I could save?
No, and it isn't built to. Tag coverage is an ownership question, not a savings estimate. This tool reports which dollars nobody can currently be billed for, not what fixing that would be worth.
Can coverage ever reach 100%?
Not while charges with no resource to tag are part of the bill. This tool subtotals those charges separately and reports the highest coverage percentage they leave room for, so "100%" is never the number to chase.
Does CostMon apply, activate, or fix any of these tags for me?
No. CostMon reads whatever tags already exist in a provider's billing export, the same as this tool does. It doesn't create a tag, activate a cost allocation tag in a provider's billing console, or enforce a tag policy.
What if I only have one of the two files?
Drop in whichever one you have. This tool shows its total and its service breakdown right away. It also names what the second file would add: the coverage share, the trend, and the never-tagged-versus-drift split.
A bill read by hand goes stale tomorrow.
Reading one export line by line takes real work. CostMon reads the next one for you, every day, for every provider you connect.