Open data
The caffeine dataset
Every caffeine value on TrackCaffeine comes from this one curated set — 87 drinks across 8 categories, with serving size, total caffeine and caffeine per 100 ml. It's openly licensed: browse it below, or download the raw data to check or reuse it.
Source: public manufacturer disclosures and USDA FoodData Central. Values are estimates, not exact or medical measurements. Data version 2026-05-28. Please credit TrackCaffeine if you republish it.
Published under CC BY 4.0 — reuse it commercially or otherwise, with a link back to this page.
Brewed coffee
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Nitro cold brew | 240 ml | 215 mg | 89.6 | 2.2× |
| Cold brew | 240 ml | 200 mg | 83.3 | 2.1× |
| Pour over | 240 ml | 145 mg | 60.4 | 1.5× |
| French press | 240 ml | 107 mg | 44.6 | 1.1× |
| Drip coffee | 240 ml | 96 mg | 40 | 1× |
| Instant coffee | 240 ml | 62 mg | 25.8 | 0.6× |
| Turkish coffee | 60 ml | 50 mg | — | 0.5× |
| Decaf coffee | 240 ml | 3 mg | 1.2 | 0× |
Espresso drinks
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Flat white | 160 ml | 130 mg | — | 1.4× |
| Espresso (double) | 60 ml | 126 mg | — | 1.3× |
| Americano | 240 ml | 126 mg | — | 1.3× |
| Latte (large, 2 shots) | 350 ml | 126 mg | — | 1.3× |
| Mocha | 240 ml | 95 mg | — | 1× |
| Cortado | 90 ml | 79 mg | — | 0.8× |
| Latte | 240 ml | 68 mg | — | 0.7× |
| Espresso (single) | 30 ml | 63 mg | — | 0.7× |
| Ristretto | 20 ml | 63 mg | — | 0.7× |
| Cappuccino | 180 ml | 63 mg | — | 0.7× |
| Macchiato | 60 ml | 63 mg | — | 0.7× |
| Affogato | 90 ml | 63 mg | — | 0.7× |
Coffee shop menu
Energy drinks
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Bang | 473 ml | 300 mg | 63.4 | 3.1× |
| Reign | 473 ml | 300 mg | 63.4 | 3.1× |
| Celsius | 355 ml | 200 mg | 56.3 | 2.1× |
| Prime Energy | 355 ml | 200 mg | 56.3 | 2.1× |
| 5-Hour Energy | 57 ml | 200 mg | — | 2.1× |
| Monster Energy | 473 ml | 160 mg | 33.8 | 1.7× |
| Rockstar | 473 ml | 160 mg | 33.8 | 1.7× |
| NOS | 473 ml | 160 mg | 33.8 | 1.7× |
| Relentless | 500 ml | 160 mg | 32 | 1.7× |
| Monster Ultra | 473 ml | 150 mg | 31.7 | 1.6× |
| Red Bull (355 ml) | 355 ml | 114 mg | 32.1 | 1.2× |
| Effect Energy | 330 ml | 105 mg | 31.8 | 1.1× |
| Red Bull (250 ml) | 250 ml | 80 mg | 32 | 0.8× |
| Burn | 250 ml | 80 mg | 32 | 0.8× |
| Lucozade Energy | 380 ml | 46 mg | 12.1 | 0.5× |
Tea
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Yerba mate | 240 ml | 85 mg | 35.4 | 0.9× |
| Matcha (1 tsp) | 240 ml | 70 mg | — | 0.7× |
| English Breakfast tea | 240 ml | 50 mg | 20.8 | 0.5× |
| Chai latte | 240 ml | 50 mg | — | 0.5× |
| Black tea | 240 ml | 47 mg | 19.6 | 0.5× |
| Earl Grey tea | 240 ml | 47 mg | 19.6 | 0.5× |
| Iced tea (bottled) | 355 ml | 45 mg | 12.7 | 0.5× |
| Oolong tea | 240 ml | 37 mg | 15.4 | 0.4× |
| Green tea | 240 ml | 28 mg | 11.7 | 0.3× |
| White tea | 240 ml | 16 mg | 6.7 | 0.2× |
| Herbal tea (caffeine-free) | 240 ml | 0 mg | 0 | 0× |
Soda
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Club-Mate | 330 ml | 66 mg | 20 | 0.7× |
| Mountain Dew | 355 ml | 54 mg | 15.2 | 0.6× |
| Coca-Cola Diet Coke | 355 ml | 46 mg | 13 | 0.5× |
| Dr Pepper | 355 ml | 42 mg | 11.8 | 0.4× |
| Sunkist Orange | 355 ml | 41 mg | 11.5 | 0.4× |
| Pepsi | 355 ml | 38 mg | 10.7 | 0.4× |
| Diet Pepsi | 355 ml | 35 mg | 9.9 | 0.4× |
| Coca-Cola (355 ml) | 355 ml | 34 mg | 9.6 | 0.4× |
| Coca-Cola Coke Zero | 355 ml | 34 mg | 9.6 | 0.4× |
| Coca-Cola (330 ml) | 330 ml | 32 mg | 9.7 | 0.3× |
| Barq's Root Beer | 355 ml | 22 mg | 6.2 | 0.2× |
Pre-workout and supplements
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Pre-workout (1 scoop) | 300 ml | 200 mg | — | 2.1× |
| Caffeine pill (200 mg) | — | 200 mg | — | 2.1× |
| C4 Original (1 scoop) | 300 ml | 150 mg | — | 1.6× |
| Caffeine pill (100 mg) | — | 100 mg | — | 1× |
| Caffeine gum (1 piece) | — | 40 mg | — | 0.4× |
Other
| Drink | Serving | Caffeine | Per 100 ml | ≈ cups of coffee |
|---|---|---|---|---|
| Espresso martini | 120 ml | 65 mg | — | 0.7× |
| Dark chocolate (50 g) | — | 30 mg | — | 0.3× |
| Coffee ice cream (100 g) | — | 30 mg | — | 0.3× |
| Milk chocolate (50 g) | — | 10 mg | — | 0.1× |
| Hot cocoa | 240 ml | 9 mg | 3.8 | 0.1× |
What is in the file and what does each field mean?
The file is a published JSON and CSV export of the open dataset of 87 drinks hosted on this page and it contains exactly the fields id, name, brand, category, serving_ml, caffeine_mg, caffeine_per_100ml, scales_with_volume and is_decaf. Dataset is the 87-record table of drinks published on this page.
The file format contains one record per drink; every record in the file maps directly to a row in the CSV and an object in the JSON, and the dataset counts 87 records across 8 categories: espresso 12, brewed 8, coffeeShop 20, energy 15, tea 11, soda 11, preworkout 5 and other 5 (category counts are part of the dataset). Each of those numbers is recorded in the dataset and available for programmatic filtering via the /dataset/ export.
id is a short machine identifier used to look up a record in the JSON and CSV. The id field is unique for each of the 87 records and is the primary key for programmatic joins against the dataset.
name is the human-readable drink name as it appears on the public drink pages such as Espresso (single) where the name shows "Espresso (single)" and the page reports 63 mg; the 63 mg figure is recorded in caffeine_mg for that item in the dataset.
brand is the commercial owner or source when applicable, or an empty string for generic items; for example the dataset row for Starbucks Pike Place Brewed (Grande) lists Starbucks as the brand in the brand field and 310 mg in the caffeine_mg field.
category is the categorical grouping that classifies each record into one of the eight groups (espresso, brewed, coffeeShop, energy, tea, soda, preworkout, other); category is a categorical label used to aggregate counts (the dataset contains 12 espresso items, 8 brewed items, and so on) and those counts are listed in the dataset header.
serving_ml is the serving volume in millilitres. For example, Espresso (single) has serving_ml 30 ml and Starbucks Pike Place Brewed (Grande) has serving_ml 473 ml; both numbers are recorded in the dataset.
caffeine_mg is the absolute caffeine amount in milligrams per serving. Caffeine_mg is the numeric caffeine value assigned to each serving; for example the dataset records caffeine_mg 63 mg for Espresso (single) and 310 mg for Starbucks Pike Place Brewed (Grande).
caffeine_per_100ml is the normalised caffeine concentration in mg per 100 ml when that value is appropriate and available; caffeine_per_100ml is the concentration metric used to compare intensity between different serving sizes and the dataset stores this value for entries such as Cold brew (83.3 mg/100 ml) and Drip coffee (40 mg/100 ml).
scales_with_volume is a boolean flag indicating whether the caffeine value is expected to scale approximately linearly with volume (true/false). Scales_with_volume is true for simple brewed coffees where concentration is roughly constant, and false for unit-based items such as a single espresso shot where caffeine is shot-based rather than proportional to ml.
is_decaf is a boolean flag that marks drinks prepared as decaffeinated; is_decaf is true for decaf items and the dataset shows for example that Decaf coffee has caffeine_mg 3 mg and is_decaf true.
How does a value get into the dataset and what disqualifies a candidate?
Values are added only after a documented source is checked and a clear serving size is defined; entries come from supplier labels, published menu nutrition, lab assays such as USDA FoodData Central, or peer-reviewed measurements where those exist. USDA FoodData Central is one of the reference sources used for declared or measured values and that source is explicitly cited on item pages when used (USDA FoodData Central).
Inclusion requires a verifiable numeric caffeine_mg and a stable serving_ml or a clear reason why the item is unit-based (for example espresso shots or caffeine pills). Records without a verifiable serving or without a numeric caffeine value are disqualified and not added to the public export.
We accept manufacturer-declared values (nutrition labels or published menus) when those labels match the serving definition; a declared label that lists 200 mg per 300 ml bottle will be recorded only if the bottle size is explicit and matches the serving_ml in the dataset row, and each such inclusion names the source on the drink page.
We accept independent laboratory measurements such as entries indexed by USDA when the assay reports units consistent with our serving_ml; when USDA or a peer-reviewed method reports a concentration in mg/100 ml we convert that to caffeine_mg for the serving_ml recorded and cite the original assay in the drink page and dataset metadata (USDA FoodData Central).
We disqualify candidate values if the serving size is ambiguous (for example a menu range with no standard serving), if the source is anecdotal without a measurable method, or if the reported value contradicts multiple trustworthy sources with no reconciliation. Items with large variance and no representative serving will be excluded until a reliable single value is established.
We do not invent serving sizes or caffeine_mg; every number in the exported file is backed by the authored dataset rows and, when the source is manufacturer-declared, the drink page links to the underlying menu or label where available.
Corrections and disputes are handled by the corrections process described on the about page and via the contact form; see /about/ for the method and /contacts/ for how to submit data corrections.
Why do published caffeine figures disagree between sources?
Published caffeine figures disagree because the same drink name can represent different serving sizes, different brew strengths, different regional formulations, or different measurement conventions; those four concrete factors account for most differences observed in the dataset. These sources of disagreement are documented on individual drink pages where the dataset lists the number used and the provenance for that number.
Serving size conventions shift reported totals: for example the dataset records Starbucks Pike Place Brewed (Grande) as 310 mg in a 473 ml serving while a local menu may report a different size; the 310 mg figure in the dataset comes from Starbucks' published nutrition for a 473 ml Grande serving and is cited on the drink page.
Brewed strength differences are a frequent cause: drip coffee in our dataset is 96 mg per 240 ml while pour over is listed as 145 mg per 240 ml; both values are in the dataset and reflect different extraction strengths and grind/brew ratios. The dataset records drip coffee 96 mg (240 ml) and pour over 145 mg (240 ml) and those specific values are available on their respective pages (Drip coffee, Pour over).
Regional formulations or recipe differences change declared caffeine: a bottled Coca-Cola entry shows 32–34 mg per can depending on 330 ml or 355 ml packaging, and the dataset contains both Coca-Cola (330 ml) 32 mg and Coca-Cola (355 ml) 34 mg to reflect packaging and labelling differences.
Label rounding and declared vs measured differences create small mismatches: manufacturers sometimes declare rounded numbers on nutrition tables and laboratories report measured values with greater precision; the dataset preserves the declared label number where that is the published source and marks measured concentrations where available.
Ingredient sources and added stimulants can alter caffeine beyond coffee/tea: energy drinks and pre-workout supplements sometimes use caffeine anhydrous, guarana or other ingredients that change total mg and concentration; our dataset records the final caffeine_mg as declared by the brand or measured in public sources such as the product label pages listed on the item detail pages.
What are the known limitations of this dataset?
This dataset provides a single representative caffeine_mg per drink and does not capture intra-batch or per-barista variation; the single-value approach is a design choice and means the export cannot represent the full distribution of concentrations for a drink. For example the dataset lists Cold brew at 200 mg for 240 ml and Nitro cold brew at 215 mg for 240 ml, but individual preparations will vary around those numbers.
Population pharmacokinetics and individual sensitivity are outside the dataset; the dataset is a content table of drink caffeine amounts and does not provide personal dosing recommendations or medical guidance. Safe daily intake guidance is available from regulatory bodies and the dataset references that guidance: the US Food and Drug Administration lists 400 mg per day as a guidance for healthy adults (FDA).
Decaf items are not zero: the dataset records Decaf coffee as 3 mg in 240 ml, which demonstrates that decaffeinated preparations often retain small residual caffeine and should not be assumed caffeine-free.
Some records are unit-based and have serving_ml 0 for convenience (for example pills and gum); the dataset lists Caffeine pill (200 mg) as 200 mg and serving_ml 0, which reflects that volume is not applicable for those items and is a limitation for per-volume comparisons.
Not exhaustive or globally comprehensive: the dataset contains 87 records selected to represent common drinks and brands and is intentionally bounded; the export is not an attempt at every product worldwide, and users should treat the collection as a curated sample rather than an exhaustive catalogue.
Lab vs declared differences remain possible: when multiple trustworthy sources disagree we select the most specific source and document the choice on the drink page; for any item you can find the provenance link on the individual page and contact us if you have a contradictory measurement at /contacts/.
How should I cite or reuse this dataset?
The dataset is licensed under CC BY 4.0 and requires attribution to TrackCaffeine; CC BY 4.0 is the licence applied to the dataset and is linked here for legal terms (CC BY 4.0). The recommended citation format is TrackCaffeine Dataset (2026). TrackCaffeine is repeated as the attribution target and the dataset export page is the canonical URL to include in that attribution.
Use this short citation example when reusing the data: "TrackCaffeine. Open caffeine dataset. CC BY 4.0. https://trackcaffeine.com/dataset/" and include a link back to /dataset/ for provenance and the dataset version used. If you modify values or aggregate multiple items, note the transformation and keep the original attribution to TrackCaffeine as required by CC BY 4.0 (CC BY 4.0).
Commercial reuse is allowed under CC BY 4.0 as long as attribution is provided; the licence page linked above explains the legal obligations and the dataset page itself documents the dataset version used in any derivative work.
What worked examples show how to compute with the file, including decay and cups-of-coffee equivalence?
You can compute remaining caffeine over time using a first-order elimination model with population-average half-life 5.7 hours; first-order elimination is the pharmacokinetic model where elimination rate is proportional to current concentration. The model used here is remaining = dose × 0.5^(hours ÷ 5.7) and the half-life 5.7 hours is the population-average used in our calculators.
Example 1: compute remaining caffeine after 6 hours for Starbucks Pike Place Brewed (Grande). Starbucks Pike Place Brewed (Grande) is 310 mg in 473 ml according to the dataset, so remaining = 310 mg × 0.5^(6 ÷ 5.7) which evaluates as remaining = 310 mg × 0.5^(1.052631579) = 310 mg × 0.482 ≈ 149 mg; the dataset value 310 mg is shown on the drink page and the arithmetic is performed with the first-order model recorded above.
Example 2: compute remaining 3 hours after a 300 mg energy drink such as Bang (Bang is recorded as 300 mg for 473 ml in the dataset). Using remaining = 300 mg × 0.5^(3 ÷ 5.7) = 300 mg × 0.5^(0.526315789) = 300 mg × 0.697 ≈ 209 mg remaining; the dataset lists Bang as 300 mg and the arithmetic uses the dataset number with the half-life model above.
Example 3: cups-of-coffee equivalence: how many lattes equal one drip coffee? Drip coffee is 96 mg per 240 ml and Latte is 68 mg per 240 ml in the dataset. Use ratio = 96 mg ÷ 68 mg = 1.411764706, so one drip coffee equals about 1.41 lattes; both source numbers are recorded on the drink pages for Drip coffee (96 mg) and Latte (68 mg).
Example 4: espresso-shot equivalence: how many single espressos (63 mg) equal a Starbucks Grande brewed 310 mg? Use ratio = 310 mg ÷ 63 mg = 4.920634921, so roughly 4.92 single espressos equal the Grande brewed serving; the numeric inputs 310 mg and 63 mg come from the respective drink pages Starbucks Pike Place Brewed (Grande) and Espresso (single).
Example 5: using the dataset with the calculators. If you want interactive decay or bedtime planning you can paste a caffeine_mg value from the JSON into the calculators at /tools/caffeine-calculator/, compare two drinks at /tools/caffeine-comparison/, or estimate last-cup-before-bed effects using /tools/last-cup-before-bed/. Each calculator uses the same first-order elimination model and the exported JSON is formatted for copy/paste into those tools.
Concrete sleep-impact citation: a controlled study reports that 400 mg of caffeine taken six hours before bedtime reduced total sleep time by over an hour; that study is cited here and relevant when you use the dataset to plan intake (Drake et al., 2013). Use the dataset values to compute how close a serving is to the 400 mg guidance and then use the study to interpret potential sleep impacts.
If you want to replicate any of these computations programmatically, load the CSV or JSON from /dataset/, select caffeine_mg for the ID you want, and evaluate remaining = dose × 0.5^(hours ÷ 5.7) with the numeric dose from the dataset; the calculators linked under /tools/ use the same approach and are intended for interactive exploration.
For quick reference to common drink pages used in examples, see Espresso (single), Drip coffee, Cold brew, Starbucks Pike Place Brewed (Grande), Bang, Latte, and the calculators at /tools/caffeine-calculator/, /tools/caffeine-comparison/, /tools/last-cup-before-bed/.
Corrections, requests for new items, or provenance questions should be sent via the contact form at /contacts/, and the dataset changelog and method notes are available at /about/ where we describe source selection and update frequency.
This documentation is informational and intended for data reuse; it is not medical advice. For health guidance about safe caffeine limits consult regulatory or clinical sources such as the US Food and Drug Administration which lists 400 mg per day for healthy adults (FDA) or the European Food Safety Authority for regional opinions (EFSA, 2015).
License and attribution: this dataset is published under CC BY 4.0; include attribution to TrackCaffeine and a link to CC BY 4.0 when you reuse the data. If you reuse large portions of the dataset in a public product, include a link back to /dataset/ and a short provenance note naming TrackCaffeine as the source.
CoffeeLog · iOS
Track this automatically with CoffeeLog
This site answers the question once. CoffeeLog answers it every day — logging what you drink, showing caffeine fade in real time, and telling you the last cup you can have before it reaches your sleep.