Palate

The Instrument Room

Nobody has measured how sour things are

Here is a question that sounds like it has an answer: how sour is a lemon, compared to a tomato, compared to a spoon of yogurt? Ask the same question about salt and the answer arrives in a second — the USDA publishes sodium in milligrams per 100 grams for essentially every food, free, forever, with an ID you can join on. 2,638 of our 2,768 registry ingredients carry one.

Ask it about acid and there is no table. We spent an afternoon trying to build one from published sources, and the result is a negative one: of the 432 ingredients that can move an acid reading, 16 have a measured quantity of acid published anywhere. Every number on this page comes from 17 cached sources, each quote-verified against its cached copy at build time.

2026-07-26T12:06:09.400904 image/svg+xml Matplotlib v3.11.0, https://matplotlib.org/ 0 100 200 300 432 ingredients, of the 432 that can move Palate's acid reading Nothing published A pH, and nothing else strength, not quantity An expert asserted a number no bound, no method A regulation bounds it a legal floor, not a value Somebody measured it how much acid, in a paper 150 34.7% 231 53.5% 0 0.0% 35 8.1% 16 3.7% 0 100 200 300 432 USDA hands out sodium for nearly all of them. Two FoodData Central pulls contain no citric, malic, tartaric, acetic or lactic acid, and no pH. acid, as a measured quantity sodium, in mg per 100 g 16 410 The same 432 ingredients, asked about salt instead Nobody has measured how sour things are Every ingredient Palate's acid reading can see (role “acid”, or a sourness or citrus label of 3+/10), scored by the strongest published evidence that exists for its acidity. Sources: the 2007 FDA/CFSAN pH compilation, 21 CFR, and five papers — retrieved 2026-07-25. analysis/acid_reference/acid_values_v1.json + ingredient_vectors_v2.json · piece5_acid_absence.py · counts are ingredients, not recipes
All 432 ingredients Palate's acid reading can see, by the strongest published evidence that exists for their acidity. Lower panel: the same ingredients, asked about salt instead.

The USDA has no acid column

We pulled two records from FoodData Central and cached them: Lemon juice, raw (SR Legacy, 112 nutrient fields) and Grapefruit juice, white, canned or bottled, unsweetened (Foundation — FDC’s most carefully measured data type, 45 fields). Then we searched both for the acids that actually make food taste sour.

Nothing. No citric, malic, tartaric, acetic or lactic acid. No pH. No titratable acidity. The only fields in lemon juice with “acid” in the name are Folic acid, Pantothenic acid, Vitamin C, total ascorbic acid and the fatty- and amino-acid roll-ups — vitamins and structural lipids, none of them the thing you taste.

That is not an oversight; nutrient databases exist to answer nutrition questions, and organic acids are not a nutrient of public-health interest. But it means the largest, best-maintained, most freely available food-composition resource on earth is silent on one of the handful of things a cook is adjusting at the stove.

What is actually known, per ingredient

Our registry has 2,768 ingredients. 432 of them can move an acid reading — tagged with the role acid, or carrying a hand-written sourness or citrus label of 3+/10. A narrower set of 174 carries the acid role specifically. For each, the strongest published evidence that exists:

A key's tier is its best available evidence. Tiers 1–3 all require a titratable-acidity number; a record that states a range of possible compositions instead of a quantity does not qualify.
evidenceingredientsshareof the 174 core
measured titratable acidity163.7%16
regulatory bound on acidity358.1%23
expert-stated acidity00.0%0
a cited pH, and nothing else23153.5%95
no published value at all15034.7%40

The measured tier is 16 ingredients drawn from 18 rows in two papers — and the expert tier is empty, which is worth explaining. Eighteen rows in the table do record an expert statement about acidity, but seventeen are wines, and what the source says is “in general one would expect 1,000 to 4,000 mg/L tartaric acid, 0 to 8,000 malic…” That is a description of a range of possible compositions, not a quantity for any wine. It carries no usable number, so those keys fall to the pH tier.

Every measured value we could find

18 rows. That is the complete published record of how much acid these foods contain, as far as an afternoon of sourcing could establish.

ingredient keyfood as measuredtitratable aciditysource
freshly squeezed grapefruit juicegrapefruit juice2.5 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
white grapefruit juicegrapefruit juice2.5 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
fresh squeezed lemon juicelemon juice4.8 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
freshly squeezed lemon juicelemon juice4.8 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
lemon juicelemon juice4.8 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
lemon juice freshlemon juice4.8 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
lemon juice fresh-squeezedlemon juice4.8 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
lemon juice freshly squeezedlemon juice4.8 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
fresh squeezed lime juicelime juice4.58 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
fresh-squeezed lime juicelime juice4.58 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
freshly squeezed lime juicelime juice4.58 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
lime juicelime juice4.58 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
lime juice freshly squeezedlime juice4.58 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
freshly squeezed orange juiceorange juice, fresh from fruit0.91 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
orange juiceorange juice, fresh from fruit0.91 g citric acid / 100 mLPenniston KL, Nakada SY, Holmes RP, Assimos DG. Quantitative Assessment of Citric Acid in Lemon Juice, Lime Juice, and Commercially-Available Fruit Juice Products. J Endourol. 2008;22(3):567-570. PMC2637791 (retrieved 2026-07-25)
pomegranate molassespomegranate molasses (commercial concentrate)3.58 g / 100 mLUcan F, Akyildiz A, Agcam E. Investigation of some quality parameters of pomegranate, sumac and unripe grape sour products from Kilis markets. Quality Assurance and Safety of Crops & Foods. 2019;11(1):61-71. DOI 10.3920/QAS2018.1293 (retrieved 2026-07-25)
— not in registrysumac concentrate (sour syrup) — NOT the dried spice12.06 g / 100 mLUcan F, Akyildiz A, Agcam E. Investigation of some quality parameters of pomegranate, sumac and unripe grape sour products from Kilis markets. Quality Assurance and Safety of Crops & Foods. 2019;11(1):61-71. DOI 10.3920/QAS2018.1293 (retrieved 2026-07-25)
— not in registryverjuice / unripe grape concentrate1.71 g / 100 mLUcan F, Akyildiz A, Agcam E. Investigation of some quality parameters of pomegranate, sumac and unripe grape sour products from Kilis markets. Quality Assurance and Safety of Crops & Foods. 2019;11(1):61-71. DOI 10.3920/QAS2018.1293 (retrieved 2026-07-25)

Why “a pH exists” is not the same as knowing

Half the set has a pH and nothing else. That sounds like a lot of information. It is much less than it looks, for two reasons.

pH does not add up. pH is −log₁₀ of hydrogen-ion concentration, so it is logarithmic, and you cannot average it. Our table cites lemon juice at pH 2–2.6 and olives at 6–6.5. Both are “acid-bearing” by our own labels, and the gap between their midpoints is a factor of 8,913 in hydrogen-ion concentration. Stir them together and the result is not the arithmetic mean of the two numbers, in any physical sense. If pH enters a calculation at all it must be converted to [H⁺] first, aggregated there, and converted back — and even then the answer is wrong, because the rest of the pot is buffering. Proteins, dairy, phosphates and starch all absorb added acid, and nothing we found models that.

pH measures strength; sourness tracks quantity. Titratable acidity is how much base it takes to neutralise a sample — the total acid present, dissociated or not. A weak acid holds most of its protons in reserve, so two liquids can sit at the same pH and hold very different amounts of acid.

The cleanest demonstration is coffee. Rao and Fuller measured hot- and cold-brew and reported that the pH values “were found to be comparable, ranging from 4.85 to 5.13” — while hot brew carried more total titratable acid than cold brew at essentially the same pH. (Rao NZ, Fuller M. Acidity and Antioxidant Activity of Cold Brew Coffee. Sci Rep. 2018;8:16030, retrieved 2026-07-25.) The cold-brew-is-less-acidic claim on café chalkboards is true in one measure and not the other. If you want to know how sour something tastes, pH is the wrong instrument.

Titratable acidity is the right one. We have it, with a number, for 51 of 432 ingredients — and 35 of those are regulatory floors like “vinegar should contain 4 grams of acetic acid per 100 mL,” which says what a bottle must clear to be sold, not what is in it.

The ranges are wider than the differences

The backbone of the pH data is FDA/CFSAN’s Approximate pH of Foods and Food Products, April 2007 — about 470 items, and the only public table of its kind. It reports ranges. Of the 257 ingredients here with a published range, the median span is 0.6 pH units — already a factor of four in [H⁺].

The worst case is mustard: 3.55 to 6. That is a 282-fold difference in hydrogen-ion concentration inside one row, and 12 registry keys — Dijon, English, grainy, yellow — all inherit it. The row does not distinguish between them because the source never did.

Then there is what a label hides:

  • Olives. The unqualified key olives matches FDA’s Olives, (ripe) at pH 6–6.5, essentially not acidic. FDA’s Olives, green, fermented are 3.6–4.6 — 141× more acidic. One word decides which food you mean, and the key does not contain it.
  • Pickles. pickles unqualified matches Pickles, fresh pack at 5.1–5.4. Cucumbers, Dill pickles are 3.2–3.7 — 63× more acidic. Anyone who has eaten both knows they are not the same food.

7 of the 432 have a published pH of 6.0 or higher — capers, ripe olives, cabbage, tapenade. They sit in the acid-bearing set because a human labeller wrote a sourness or citrus score for them, and the published chemistry says they are near neutral. That disagreement is the most useful thing this table can do.

What this means, said plainly

A salt reading can be built on a measured, mass-additive quantity: milligrams of sodium per 100 grams, summed across ingredients, divided by dish mass. That is arithmetic on a number somebody measured, available for 410 of these same 432 ingredients (94.9%).

There is no such number for acid, for 416 of 432. So Palate treats acid as a presence signal — this dish has acid in it, that one doesn’t — and publishes no acid magnitudes or acid rankings anywhere in the product. Not because we haven’t got round to it. Because the data to build one has not been published.

The honest version of the finding is not “our acid axis is weak.” It is: when you ask how sour a food is, the world does not have an answer written down. For salt it does. For acid, somebody would have to go and measure it — the few dozen ingredients cooks actually reach for, vinegars by type, tomato products, cultured dairy, the pickles and ferments — and nobody has.

Honest limitations

  • The backbone is old. The FDA/CFSAN compilation was published in 2007, but its own cited references run to 1939, 1962, 1984 and 1995. No uncertainty, sample size, or method is reported for any row.
  • Regulatory values are bounds, not measurements. “≥4 g acetic acid per 100 mL” is what vinegar must clear to be sold as vinegar; a bottle may be 4% or 7%. They get their own tier for exactly this reason.
  • Most of the matching is a judgement call. Only 53 of the 432 have an exact match to a published measurement of the same food. 105 are close matches, 124 are approximate stand-ins, and 150 are declared missing with a written reason. Every call is recorded in the table’s match_note.
  • Neat-ingredient acidity is not dish acidity. Concentration and buffering dominate and neither is modelled. A tablespoon of vinegar in a braise and a cup of vinegar in a brine share a pH and share nothing else. Cooking changes acidity too — acetic acid is volatile and boils off.
  • Two FoodData Central records is not a survey of FoodData Central. They are the two we pulled, chosen as acid-relevant foods with the richest data types available. We believe the conclusion generalises; we have verified it on two records.
  • Nothing here is human-validated against taste. This anchors to chemistry. Whether measured acidity predicts perceived sourness in a cooked dish is a separate, untested claim.
  • The ordering between “regulatory” and “expert” is a convention. Both mean “not a measurement of this food.” The counts are published separately so you can merge them.

Reproduce this

Deterministic, offline, no model calls. Every number on this page is read from the script’s results file — the page cannot state a number the script didn’t produce.

python analysis/instrument_room/scripts/piece5_acid_absence.py
python analysis/instrument_room/scripts/piece5_figures.py

Inputs: analysis/acid_reference/acid_values_v1.json (438 rows, 17 cached sources, retrieved 2026-07-25), data/recipe_corpus/ingredient_vectors_v2.json, data/recipe_corpus/ingredient_nutrition.csv, and two cached FoodData Central pulls — all read-only. Every number on this page is in analysis/instrument_room/results/piece5_acid_absence.json, including a reconciliation block recording where this recount differs from the source document's prose summary, and why.