•Cottage cheese at 1% milkfat delivers the most protein per calorie of any cheese in this ranking, and it clears our sodium guardrail — though not by much.
•Pecorino Romano finishes fourth on protein per calorie and is the highest-placed cheese the guardrail takes out.
•Within a single variety, the gap between the standard version and the low-sodium version is wider than the gap across the entire twenty-cheese field.
There is a moment in the dairy aisle that most of us know well. You are holding a block of something aged and expensive, you have read somewhere that cheese is a decent protein source, and you have also read somewhere that cheese is salty. Both things are true. Neither one tells you which block to put in the cart.
The trouble is that the usual way of comparing cheese hides the answer. Ranking by protein per ounce rewards whatever has had the most water pressed out of it, which is why hard grating cheeses always win those lists. Ranking by protein per serving rewards whoever prints the largest serving on the tub. And sodium, when it shows up at all, shows up as a footnote — a percentage of a daily value, floating free of the protein it came attached to.
So we did the arithmetic differently. Every number here comes from USDA FoodData Central, twenty varieties, per 100 grams as the database publishes them. The primary ranking is protein per 100 calories: how much protein each cheese actually buys you for the energy it costs. The second number, the one that decides who survives, is sodium per gram of protein — how much salt rides along with each gram of the thing you came for.
That second number turns out to matter more than the first. Across most of the cheese counter, protein per calorie barely separates anything; eight of these twenty varieties sit inside a single point of each other. Their sodium-per-gram-of-protein figures span a five-fold range. One cheese in the top five gets disqualified outright. And the cheese that wins is probably not the one you were reaching for.
How We Scored These Cheeses
Two numbers appear on every row below, and a third piece of information — the FoodData Central ID — appears so you can check any of it yourself in about ten seconds.
The Two Numbers on Every Row
Protein per 100 calories is the primary metric, and it is the honest answer to "does this cheese earn its calories." We also report protein per 28 grams, which is one ounce, because that is closer to how a person actually eats cheese. Publishing both is deliberate, and here is why it matters: at 28 grams, Parmesan delivers 10.02 grams of protein for 110 calories while cottage cheese delivers 3.47 grams for 20 calories. Parmesan wins the ounce by nearly three to one. Cottage cheese wins the calorie by nearly two to one. Both are correct. They are answers to different questions, and a ranking that showed you only one of them would be quietly choosing your question for you.
The mechanism behind that split is worth naming plainly, because it is the main limitation of the primary metric. Protein per calorie rewards water and penalizes fat. A fresh, high-moisture, low-fat cheese will always do well on it, and an aged, dense, buttery one will always do worse — not because the aged cheese is protein-poor, but because it arrives with a lot of energy attached. If you want the same computation run across a much wider food set, our ranking of 50 foods by protein per calorie covers the same ground outside the dairy case.
Sodium per gram of protein is the guardrail. It answers a question the first metric cannot: for every gram of protein this cheese gives you, how many milligrams of sodium come with it? Because it is a ratio, it is identical whether you calculate it per 100 grams or per ounce, which makes it immune to the serving-size games that distort most cheese comparisons.
Where the Guardrail Sits, and What Happens If It Moves
Across these twenty varieties, sodium per gram of protein runs from 6.9 milligrams (Swiss) to 92.3 (processed American) — a thirteen-fold spread, with a median of 28.2. We set the guardrail at 35 milligrams of sodium per gram of protein, and we set it there for a specific, checkable reason: the field has a hole at that point. The closest variety below the line is Parmesan at 32.96. The closest above it is Edam at 38.92. Nothing lands in between, so no cheese in this ranking sits within two points of the threshold, and the verdict does not turn on a rounding decision.
Fifteen of the twenty clear it. Five do not.
A lever placed anywhere has to prove it was not reverse-engineered toward a preferred answer, so here is what happens when it moves. Drop it to 30 mg/g and only eleven cheeses clear — Parmesan, Gouda, brie and cottage cheese all fall, and the winner becomes part-skim ricotta. Raise it to 45 mg/g and sixteen clear, Pecorino Romano scrapes back in, and blue cheese becomes the highest-scoring casualty. What does not change at any defensible threshold is that Romano fails and processed American finishes last.
Important
The 35 mg/g guardrail is an editorial scoring device we chose from this dataset and disclosed. It is not a health threshold, an intake target, or a recommendation about how much sodium anyone should eat.
What the USDA Records Can and Can't Tell You
Three caveats belong here rather than buried at the bottom, because each one affects how much weight a given row deserves.
First, the sodium column is not uniformly measured. Cheddar (both records), Swiss, part-skim mozzarella and processed American carry USDA's derivation code for analytical measurement. Parmesan, provolone, fresh mozzarella, Edam and feta carry a code meaning the value was back-calculated from a product label by USDA staff. Romano, Gruyère, blue, goat and ricotta carry a third code, and Monterey Jack's value is imputed. That matters most for Parmesan, which clears the guardrail by only two points on a back-calculated number, and for Romano, whose disqualification rests on one too.
Second, a generic record describes a variety, not a producer's product. Sodium especially varies with brine time, aging and house recipe — feta, blue and the hard grating cheeses most of all. The block in your hand may not match the row in this table, and the Nutrition Facts panel on it is the better authority for that specific block.
Third, saturated fat appears as a column because the brief called for it and because you may want to see it. We report it and leave it there; interpreting what it means for any individual is a conversation for a clinician, not a ranking table.
All values are per 100 grams from USDA FoodData Central, nineteen from the SR Legacy dataset published April 2019 and one — cheddar — from Foundation Foods. One note on the field itself: FoodData Central holds no havarti record at all, so Muenster stands in for that semisoft slot, and camembert and Colby were trimmed as near-duplicates of brie and Monterey Jack to land on twenty.
The Full Table
#
Cheese
Protein / 100 kcal
Sodium / g protein
Protein / 28 g
kcal / 28 g
Sodium / 28 g
Sat. fat / 100 g
FDC ID
Clears 35 mg/g
1
Cottage cheese, 1%
17.22 g
32.7 mg
3.47 g
20
114 mg
0.65 g
173417
Yes
2
Parmesan, hard
9.13 g
33.0 mg
10.02 g
110
330 mg
14.8 g
170848
Yes
3
Ricotta, part-skim
8.26 g
8.7 mg
3.19 g
39
28 mg
4.93 g
171248
Yes
4
Pecorino Romano
8.22 g
45.0 mg
8.90 g
108
400 mg
17.1 g
171249
No
5
Mozzarella, low-moisture part-skim
8.07 g
28.0 mg
6.66 g
83
186 mg
11.3 g
171244
Yes
6
Mozzarella, whole milk (fresh)
7.42 g
21.9 mg
6.22 g
84
136 mg
13.9 g
170845
Yes
7
Provolone
7.29 g
28.4 mg
7.17 g
98
204 mg
17.1 g
170850
Yes
8
Gruyère
7.22 g
24.0 mg
8.34 g
116
200 mg
18.9 g
171242
Yes
9
Goat, soft (chèvre)
7.01 g
24.8 mg
5.18 g
74
129 mg
14.6 g
173435
Yes
10
Edam
7.00 g
38.9 mg
7.00 g
100
272 mg
18.7 g
173419
No
11
Gouda
6.99 g
32.9 mg
6.97 g
100
229 mg
17.6 g
171241
Yes
12
Swiss
6.87 g
6.9 mg
7.56 g
110
52 mg
18.2 g
171251
Yes
13
Monterey Jack
6.57 g
24.5 mg
6.86 g
104
168 mg
19.1 g
170844
Yes
14
Muenster
6.36 g
26.8 mg
6.55 g
103
176 mg
19.1 g
171245
Yes
15
Brie
6.23 g
30.2 mg
5.82 g
94
176 mg
17.4 g
172177
Yes
16
Blue
6.06 g
53.7 mg
5.99 g
99
322 mg
18.7 g
172175
No
17
Cheddar, sharp, sliced
5.90 g
26.6 mg
6.78 g
115
180 mg
19.4 g
170899
Yes
18
Cheddar
5.71 g
28.1 mg
6.52 g
114
183 mg
19.2 g
328637
Yes
19
Feta
5.36 g
80.3 mg
3.98 g
74
319 mg
13.3 g
173420
No
20
Processed American
4.95 g
92.3 mg
5.07 g
102
468 mg
18.1 g
170853
No
The countdown below runs from twentieth place to first, so the best cheese in the field arrives last.
20. Processed American Cheese
Last on Both Axes at Once
Somebody has to finish last, and processed American manages it twice over. Per 100 grams it carries 366 calories, 18.1 grams of protein and 1,670 milligrams of sodium, which works out to 4.95 grams of protein per 100 calories and 92.27 milligrams of sodium for every gram of protein. No other variety in this field is worst on the primary metric and worst on the guardrail simultaneously.
What makes this row unusually solid is that both its protein and its sodium values carry USDA's analytical derivation code. This is not an imputed figure or a label back-calculation — somebody measured it. The salt is structural rather than seasonal, too: emulsifying salts are what let process cheese melt into that smooth, even sheet, so the sodium is doing a job. It is simply doing a job that has nothing to do with the protein you were shopping for.
19. Feta
The One Most People Assume Is the Light Choice
Feta reads as a lighter cheese, and on calories alone it is — 265 per 100 grams, well under most of the aged varieties. The problem is what comes with those lower calories. Protein is only 14.2 grams per 100 grams, so the calorie count is low partly because the protein is low too, and sodium sits at 1,140 milligrams. That produces 5.36 grams of protein per 100 calories, nineteenth of twenty, and 80.28 milligrams of sodium per gram of protein, second-worst in the entire field.
At an ounce, that is 3.98 grams of protein against 319 milligrams of sodium. The brine is doing most of the work, which also means feta varies more by producer than almost anything else here: a block sold in brine and a vacuum-packed one are not the same product nutritionally, and the panel on the package will tell you more than this row can.
18. Cheddar
The Country's Default Cheese, Measured Honestly
The generic cheddar record — the only Foundation Foods entry in this ranking — gives 408 calories, 23.3 grams of protein and 654 milligrams of sodium per 100 grams. That is 5.71 grams of protein per 100 calories, eighteenth place, and 28.07 milligrams of sodium per gram of protein, which clears the guardrail comfortably.
Cheddar's low finish on the primary metric is purely a density story. It is 34 percent fat, so the calories pile up fast even though the protein is respectable. Per ounce it delivers 6.52 grams of protein, mid-pack rather than poor. It is also the one variety where two independently compiled USDA records exist and can be checked against each other, which makes it the integrity test for this whole table — more on that in the next entry. If you want to see how cheddar stacks up against the rest of a morning plate, we ran 30 breakfast foods through protein, fiber and calories in a separate comparison.
17. Cheddar, Sharp, Sliced
The Cross-Check That Validates the Table
The SR Legacy record for sharp sliced cheddar gives 410 calories, 24.2 grams of protein and 644 milligrams of sodium per 100 grams — 5.90 grams of protein per 100 calories and 26.61 milligrams of sodium per gram of protein.
Set that beside the generic cheddar entry above and something reassuring happens. Two records, compiled independently, from different USDA datasets, agree within four percent on protein and within two percent on sodium, with analytical derivation codes on both values in both records. When a ranking rests entirely on one database, that kind of internal agreement is the closest thing to a self-audit the data offers. Sharper cheddar edging out the generic record on both metrics also fits the make: longer aging means more moisture lost and slightly more protein concentrated into the same weight.
16. Blue
Heavily Salted for a Structural Reason
Blue cheese lands sixteenth on protein per calorie at 6.06 grams per 100 calories, which is unremarkable. Its guardrail number is not: 1,150 milligrams of sodium against 21.4 grams of protein per 100 grams gives 53.74 milligrams per gram of protein, third-worst here and well past the line at every threshold this field can justify.
Salt in a blue cheese is not seasoning. It is the control mechanism — it governs moisture and keeps the mold doing what the cheesemaker wants rather than what it would do on its own. That also means the spread within the category is enormous. A sharp, crumbly Roquefort-style wheel and a mild creamery blue are different propositions, and this row represents a generic average of a genuinely non-uniform category.
15. Brie
Soft, Rich, and Squarely in the Middle
Brie gives 334 calories, 20.8 grams of protein and 629 milligrams of sodium per 100 grams: 6.23 grams of protein per 100 calories and 30.24 milligrams of sodium per gram of protein. It clears the guardrail, though it is one of the four cheeses that would fall if the lever moved down to 30.
The soft-ripened texture that makes brie what it is comes from high moisture and high fat together, and those pull the primary metric in opposite directions — the water helps, the fat hurts, and the fat wins. At an ounce you are getting 5.82 grams of protein for 94 calories, which is a perfectly ordinary trade. Brie is a cheese people eat for pleasure rather than for macros, and the numbers here neither reward nor punish that.
14. Muenster
The Stand-In for a Cheese the Database Doesn't Have
Muenster is in this ranking because havarti is not. FoodData Central carries no havarti record in either SR Legacy or Foundation Foods, and rather than import a number from a source we would not otherwise cite, we used the nearest real record for that semisoft, mild, meltable slot.
The numbers: 368 calories, 23.4 grams of protein, 628 milligrams of sodium and 30.0 grams of fat per 100 grams, giving 6.36 grams of protein per 100 calories and 26.84 milligrams of sodium per gram of protein. It clears the guardrail with room to spare. Muenster's sodium value carries no derivation code at all, which is a small reminder that the confidence behind these figures is not uniform even when the figures themselves look tidy.
13. Monterey Jack
Mild, Meltable, and Middling
Monterey Jack turns in 373 calories, 24.5 grams of protein and 600 milligrams of sodium per 100 grams — 6.57 grams of protein per 100 calories and 24.49 milligrams of sodium per gram of protein, comfortably inside the guardrail.
It is one of the better guardrail performers in the middle of the pack, which is easy to miss because its headline number is so ordinary. The caveat is that its sodium figure carries USDA's code for an imputed value, meaning it was estimated from related foods rather than measured directly. Of everything in this table, this is the row that would benefit most from you glancing at the actual package.
12. Swiss
The Quiet Outlier of the Whole Ranking
Here is the result that most changes how this table reads. Swiss sits twelfth on protein per calorie at 6.87 grams per 100 calories — thoroughly mid-table. On the guardrail it carries 187 milligrams of sodium against 27.0 grams of protein, which is 6.93 milligrams of sodium per gram of protein: the lowest figure in the entire field, roughly one-thirteenth of Pecorino Romano's and a fraction of everything around it.
That is not a quirk of one producer. Emmental-style cheeses are made with the curd unsalted in the vat and the wheel spending comparatively little time in brine, so a low figure here is a property of the style. Both the protein and sodium values carry analytical derivation codes, making this one of the best-measured rows in the table. At an ounce, Swiss delivers 7.56 grams of protein for 52 milligrams of sodium — a combination nothing else in the aged-cheese half of this ranking comes close to. Its calcium showing is respectable too, though if dairy is not your route there, we ranked 15 non-dairy calcium sources by absorption separately.
11. Gouda
Edam's Twin, on the Right Side of the Line
Gouda gives 356 calories, 24.9 grams of protein and 819 milligrams of sodium per 100 grams: 6.99 grams of protein per 100 calories and 32.89 milligrams of sodium per gram of protein. It clears the guardrail by about two points.
Hold that thought for the next entry, because Gouda and Edam are about to demonstrate the entire argument for using two metrics instead of one. On protein per calorie these two Dutch cheeses are separated by 0.01 grams — a rounding error, effectively indistinguishable. Gouda's sodium value carries no derivation code, which is worth knowing given how close its pass is.
10. Edam
Separated From Gouda by a Rounding Error, and by 146 Milligrams
Edam turns in 357 calories, 25.0 grams of protein and 973 milligrams of sodium per 100 grams. Protein per 100 calories: 7.00 grams — one-hundredth of a gram ahead of Gouda, which is to say identical. Sodium per gram of protein: 38.92 milligrams, which puts it outside the guardrail.
Two cheeses from the same tradition, nearly the same fat, nearly the same protein, indistinguishable on the metric most articles would rank them by — and one of them carries 146 milligrams more sodium per 100 grams than the other. On a single axis they are the same cheese. On two axes, one clears and one does not. That is the clearest demonstration in this whole field that protein per calorie, on its own, cannot see the thing that separates these two.
9. Goat Cheese, Soft
Low Calories Doing Honest Work
Soft goat cheese (chèvre) gives 264 calories, 18.5 grams of protein and 459 milligrams of sodium per 100 grams: 7.01 grams of protein per 100 calories and 24.81 milligrams of sodium per gram of protein. Both numbers are good, and they are good for a reason feta cannot claim.
Feta and chèvre have similar calorie counts, and that is where the resemblance ends. Chèvre's guardrail figure is 24.8 against feta's 80.3 — the same style of fresh, tangy, spreadable cheese, more than three times apart on salt per gram of protein. The one catch is portion scale: at 28 grams you are getting 5.18 grams of protein, on the lower side, because goat cheese is soft enough that an ounce does not go very far on a plate.
8. Gruyère
The Best of the Aged Cheeses on the Primary Metric
Gruyère delivers 413 calories, 29.8 grams of protein and 714 milligrams of sodium per 100 grams — 7.22 grams of protein per 100 calories and 23.96 milligrams of sodium per gram of protein. Among cheeses you would actually put on a board, that is a strong pair of numbers.
It is also the highest-calorie cheese in the entire ranking at 413 per 100 grams, and it still places eighth, which tells you how much protein is packed in there. Per ounce it gives 8.34 grams of protein, third-best in the field behind only Parmesan and Romano. If you like the flavor of a long-aged alpine cheese but Romano's salt load is the sticking point, this is the row that answers that. Its sodium value carries a non-analytical derivation code, so treat the precise figure as an estimate rather than a measurement.
7. Provolone
The Sandwich Cheese That Does Better Than Expected
Provolone gives 351 calories, 25.6 grams of protein and 727 milligrams of sodium per 100 grams: 7.29 grams of protein per 100 calories and 28.40 milligrams of sodium per gram of protein. It clears the guardrail, and it outranks every cheddar in this table on the primary metric.
That is mostly a fat story running in reverse. At 26.6 grams of fat per 100 grams, provolone is noticeably leaner than cheddar's 34, so the same protein arrives with fewer calories attached. Per ounce it delivers 7.17 grams of protein for 98 calories and 204 milligrams of sodium — a genuinely good deli-counter showing from a cheese nobody puts on a high-protein list.
6. Fresh Mozzarella, Whole Milk
Water Is Not Cheating
Fresh whole-milk mozzarella gives 299 calories, 22.2 grams of protein and 486 milligrams of sodium per 100 grams: 7.42 grams of protein per 100 calories and 21.89 milligrams of sodium per gram of protein — the third-lowest guardrail figure of all twenty.
It is worth being explicit that the high moisture is why it does well, and that this is not a trick. If you eat 100 grams of fresh mozzarella, you genuinely consume 299 calories and genuinely get 22.2 grams of protein. The water is not inflating anything; it is displacing fat that would otherwise be there. Its low-moisture whole-milk cousin makes the point from the other direction, carrying 710 milligrams of sodium against 21.6 grams of protein — 32.9 milligrams per gram, half again as salty per gram of protein as the fresh version of the same cheese.
5. Mozzarella, Low-Moisture Part-Skim
The Pizza Cheese, and It Earns Its Spot
The shredded bag in the refrigerator door does better than almost anything else in the case: 295 calories, 23.8 grams of protein and 666 milligrams of sodium per 100 grams, giving 8.07 grams of protein per 100 calories and 27.98 milligrams of sodium per gram of protein. Fifth overall, and inside the guardrail.
Part-skimming is what does it. Pulling fat out drops the calories without touching the protein, so the ratio improves on both counts at once. Both the protein and the sodium here carry analytical derivation codes, which makes this row one of the five best-measured in the table — a useful thing to know about a cheese most people buy in volume without thinking of it as a protein source at all.
4. Pecorino Romano
Fourth Place, and the Cheese the Guardrail Removes
Romano is the reversal this ranking was built to find. On the primary metric it is excellent: 387 calories and 31.8 grams of protein per 100 grams gives 8.22 grams of protein per 100 calories, fourth of twenty, and 8.90 grams of protein per ounce, second only to Parmesan.
Then you look at the salt. Romano carries 1,430 milligrams of sodium per 100 grams — the highest of any natural cheese in this field, higher even than feta — against those 31.8 grams of protein. That is 44.97 milligrams of sodium per gram of protein, roughly ten points past the guardrail and the third-worst figure in the whole ranking. At an ounce, 8.90 grams of protein arrives with 400 milligrams of sodium.
Romano is heavily salted because that is how the cheese is made: a long dry-salting and a long aging are what produce the hard, sharp, grating texture it is prized for. Nothing about that is a defect. It simply means that on this particular pair of measurements, the highest-placed cheese in the top five does not survive its own scoring. The next section takes that apart properly.
3. Ricotta, Part-Skim
The Best Combined Performance of Any Real Cheese
Part-skim ricotta gives 138 calories, 11.4 grams of protein and just 99 milligrams of sodium per 100 grams: 8.26 grams of protein per 100 calories, third overall, and 8.68 milligrams of sodium per gram of protein, second-lowest in the field.
No other variety here places in the top three on the primary metric and the bottom two on the guardrail at the same time. The reason is that ricotta is not really a curd cheese at all — it is made from whey, and very little salt goes in during the make. Two things temper it. The whole-milk version is a different animal, at 5.03 grams of protein per 100 calories and 14.6 milligrams per gram of protein, so the part-skim label is doing real work. And at 28 grams ricotta yields only 3.19 grams of protein, the lowest ounce-for-ounce figure in the table, because it is soft and light. Our side-by-side of cottage cheese and ricotta goes further into how those two fresh cheeses compare on the plate and at the register.
2. Parmesan, Hard
First on the Ounce, Second on the Calorie, and a Narrow Escape
Parmesan is the cheese most people expect to win, and it very nearly does. Per 100 grams: 392 calories, 35.8 grams of protein — the highest protein content of any variety here — 1,180 milligrams of sodium and 25.0 grams of fat. That gives 9.13 grams of protein per 100 calories, second overall, and 10.02 grams of protein per ounce, first by a clear margin.
Its guardrail figure is 32.96 milligrams of sodium per gram of protein, which clears 35 by 2.04 points — the narrowest pass of any cheese that passes. Parmesan is the first casualty the moment the lever moves at all: at a 30 mg/g threshold it is out. And the number that saves it carries USDA's label-claim derivation code rather than an analytical measurement, meaning it was back-calculated from a product label rather than measured in a lab.
So Parmesan's position here is genuinely finely balanced, and saying so is more useful than declaring it a winner or a loser. It is the strongest protein source in the case by weight, it survives the guardrail, and it survives it by less than any other cheese on the passing side of the line.
1. Cottage Cheese, 1% Milkfat
The Winner, and the Reason the Metric Was Worth Computing
Cottage cheese at 1% milkfat takes first place by the widest margin in the table: 72 calories, 12.4 grams of protein, 406 milligrams of sodium and 1.02 grams of fat per 100 grams, which is 17.22 grams of protein per 100 calories — nearly double the second-place variety. Its guardrail figure is 32.74 milligrams of sodium per gram of protein, so it clears 35, by 2.26 points.
Two honest qualifications belong with that win. The margin comes substantially from moisture and from the near-total absence of fat, which is exactly what protein per calorie is designed to reward — so cottage cheese wins the metric on the metric's own terms, and at 28 grams it yields only 3.47 grams of protein, the second-lowest in the field. Nobody eats cottage cheese by the ounce. And like Parmesan, it clears the guardrail narrowly; at a 30 mg/g lever it falls out and ricotta takes the title.
One more thing the data quietly settles: the 2% milkfat record carries less protein than the 1% record, 10.4 grams against 12.4. More milkfat does not buy more protein. If you want the broader picture of how cottage cheese sits against its shelf neighbors, our showdown of cottage cheese, Greek yogurt and skyr runs the same kind of comparison across the fresh-dairy case.
The Cheese That Didn't Survive the Guardrail
Pecorino Romano is the headline casualty, and it is worth being precise about what that does and does not mean.
Romano ranks fourth of twenty on protein per calorie. It ranks second of twenty on protein per ounce. By the measure most cheese rankings use — and by the measure most people have in mind when they buy a wedge of hard grating cheese for the protein — it is near the top of the field. It is the highest-placed cheese in this ranking that the guardrail removes, and it is removed by a wide margin rather than a narrow one: 44.97 milligrams of sodium per gram of protein against a 35 mg/g line, on USDA's record of 1,430 milligrams of sodium per 100 grams.
Four other varieties fail alongside it, and the pattern in that group is instructive. Processed American (92.3 mg/g) and feta (80.3) fail catastrophically and also finish last and nineteenth on the primary metric — they are poor on both counts, and no scoring choice rescues them. Blue (53.7) fails clearly. Edam (38.9) fails by less than four points, with its near-twin Gouda clearing by two.
Romano is the only one of the five that would be a top-five finish on a conventional ranking. That is the whole point of running a second axis: the guardrail does not just reshuffle the bottom of the table, it reaches into the top of it.
Note
Romano's sodium figure carries a non-analytical derivation code, and hard grating cheeses vary by producer and aging time more than most. A specific wedge could sit meaningfully above or below 1,430 milligrams per 100 grams, and its label will say which.
The Version Matters More Than the Variety
If there is one finding in this research that outgrew the question we set out to answer, it is this one.
The entire twenty-variety field spans 6.9 to 92.3 milligrams of sodium per gram of protein. Parmesan, by itself, spans 1.5 to 33.0 — because FoodData Central also carries a low-sodium Parmesan record at 63 milligrams of sodium per 100 grams against 41.6 grams of protein. That is a twenty-two-fold range inside a single named variety, wider than the gap between the best and worst cheeses in the ranking above.
It is not only Parmesan. The USDA's generic records include low-sodium Swiss at 14 milligrams per 100 grams, low-sodium mozzarella at 16 milligrams against 27.5 grams of protein, low-sodium cheddar or Colby at 21 milligrams, and a no-salt-added 1% cottage cheese at 13 milligrams against protein and calories identical to the standard version. That last one is the cleanest controlled pair in the whole dataset: same protein, same calories, one variable changed, and the guardrail figure drops from 32.7 to 1.0 milligrams per gram of protein.
Run the low-sodium mozzarella record through the primary metric and it scores 9.82 grams of protein per 100 calories — which would place it second in the entire field, ahead of Parmesan, while carrying 0.6 milligrams of sodium per gram of protein.
A few caveats keep this in proportion. These are generic records rather than specific brands, availability varies by region and store, and the low-sodium Parmesan record is not simply standard Parmesan with the salt taken out — it carries more protein and more calories too, which makes it a different product rather than a modified one. But the structural point holds across every pair: within-variety variation swamps between-variety variation on the guardrail axis. Which cheese you pick up moves this number far less than which version of that cheese you pick up.
Tip
Every cheese in this ranking publishes its FoodData Central ID in the table above. Dropping that number into a FoodData Central search returns the full record, including the derivation code behind each value — which is how you can tell a measured figure from an estimated one.
About the Author
Angela Nightingale
Senior Editor
Angela Nightingale is a Senior Editor at Daily Vitality with over two decades of experience in digital publishing and health and wellness content. She specializes in turning complex, often-confusing health topics into clear, calm, and practical guidance that respects the reader's intelligence. Her work focuses on helping people feel informed and confident — never overwhelmed or alarmed — as they make everyday decisions about how they eat, move, rest, and age.
Cottage cheese at 1% milkfat, at 17.22 grams of protein per 100 calories — nearly double the second-place variety. Among aged cheeses, hard Parmesan leads at 9.13 grams per 100 calories.
Hard Parmesan, at 10.02 grams per 28 grams, followed by Pecorino Romano at 8.90 grams and Gruyère at 8.34. That is a different ranking from the per-calorie one, which is why both columns appear in the table.
Because protein per calorie measures efficiency, not quantity. Parmesan carries 35.8 grams of protein per 100 grams to cottage cheese's 12.4, but it also carries 392 calories to cottage cheese's 72. Per calorie spent, cottage cheese returns more protein; per gram eaten, Parmesan returns more.
It is sodium in milligrams divided by protein in grams — how much salt arrives alongside each gram of protein. Because it is a ratio, it does not change with serving size, which makes it immune to the serving-weight differences that distort most cheese comparisons.
From this field's own distribution. Sodium per gram of protein across these twenty varieties runs 6.9 to 92.3 with a median of 28.2, and there is a gap between 32.96 and 38.92 with nothing in it. Placing the line at 35 means no cheese sits within two points of it. It is an editorial scoring device, disclosed as such, not a health threshold.
Five of twenty: processed American at 92.3 milligrams per gram of protein, feta at 80.3, blue at 53.7, Pecorino Romano at 45.0 and Edam at 38.9. Romano is the highest-placed failure, finishing fourth on protein per calorie.
Swiss, at 6.93 milligrams of sodium per gram of protein — roughly one-thirteenth of Romano's figure. Part-skim ricotta is second at 8.68. Emmental-style cheeses are brined lightly, so this is a property of the style rather than of any one producer.
It is lower in calories than most aged cheeses at 265 per 100 grams, but it is also lower in protein at 14.2 grams, so it finishes nineteenth of twenty on protein per calorie. Its sodium is 1,140 milligrams per 100 grams, second-highest in the field.
Not according to the USDA records. The 2% milkfat entry carries 10.4 grams of protein per 100 grams against 12.4 for the 1% entry — less protein, not more, with the extra milkfat adding calories rather than protein.
Meaningfully. Fresh whole-milk mozzarella carries 486 milligrams of sodium against 22.2 grams of protein per 100 grams (21.9 mg/g), while the low-moisture whole-milk version carries 710 milligrams against 21.6 grams (32.9 mg/g) — half again as much sodium per gram of protein.
FoodData Central holds no havarti record in either the SR Legacy or Foundation Foods datasets. Rather than take a figure from a source we would not otherwise cite, we used Muenster for that semisoft slot and flagged the substitution.
Approximately, and no more than that. These are generic variety-level records, and sodium in particular varies with producer, brine time and aging — most of all for feta, blue and hard grating cheeses. The Nutrition Facts panel on your package is the better authority for that package.
Sources
U.S. Department of Agriculture, Agricultural Research Service. FoodData Central. Retrieved from https://fdc.nal.usda.gov/
U.S. Department of Agriculture, Agricultural Research Service. FoodData Central API — abridged records for Parmesan (170848), Romano (171249), sharp cheddar (170899), cheddar (328637), Swiss (171251), Gruyère (171242), provolone (170850), low-moisture part-skim mozzarella (171244), whole-milk mozzarella (170845) and Monterey Jack (170844). Retrieved from https://api.nal.usda.gov/
U.S. Department of Agriculture, Agricultural Research Service. FoodData Central API — abridged records for Gouda (171241), Edam (173419), Muenster (171245), brie (172177), blue (172175), feta (173420), soft goat cheese (173435), part-skim ricotta (171248), 1% cottage cheese (173417) and pasteurized process American (170853). Retrieved from https://api.nal.usda.gov/
Show 1 more sourceHide additional sources
U.S. Department of Agriculture, Agricultural Research Service. FoodData Central API — abridged records for low-sodium Parmesan (167705), low-sodium Swiss (168124), low-sodium mozzarella (167735), low-sodium cheddar or Colby (173440), no-salt-added 1% cottage cheese (168114), 2% cottage cheese (172182), whole-milk ricotta (170851) and low-moisture whole-milk mozzarella (170846). Retrieved from https://api.nal.usda.gov/