High-Protein Snacks: 30 Options Ranked by Protein per Calorie
Quick answer: The snacks with the most protein for their calories are plain fish, lean meat and low-fat dairy. A 3-oz serving of light tuna in water gives 17 g of protein for 73 kcal, and a 6-oz cup of nonfat Greek yogurt gives 17 g for 100 kcal. Nuts and seeds are often sold as "high protein", but they rank near the bottom: an ounce of almonds has 6 g of protein and 165 kcal. Below, 30 common snacks are ranked by grams of protein per 100 kcal, each with a portion, calories and the USDA record it comes from.
How to read the ranking
The last column, protein per 100 kcal, is the number that ranks the snacks. It doesn't depend on portion size, so a spoonful and a bowl of the same food score the same. As a rule of thumb, 10 g or more per 100 kcal is a lean protein snack. Between 5 and 10 g, the snack has useful protein but a fair share of fat or carbs. Under 5 g, most of the calories come from something other than protein.
The second number to watch is the portion. Pork rinds score better than eggs per calorie, but a half-ounce bag is small: 77 kcal and under 9 g of protein. Two eggs give 13 g. Use the ratio to compare, and the portion to decide.
Meat, fish and eggs
| Snack | Portion | kcal | Protein | Protein per 100 kcal | USDA record |
|---|---|---|---|---|---|
| Light tuna, canned in water, drained | 3 oz (85 g) | 73 | 17 g | 22.6 g | FDC 173709 |
| Shrimp, cooked | 3 oz (85 g) | 100 | 19 g | 19.1 g | NDB 15151 |
| Chicken breast, roasted, no skin | 3 oz (85 g) | 140 | 26 g | 18.8 g | NDB 05064 |
| Ham, sliced, 96% fat-free | 3 slices (69 g) | 69 | 12 g | 16.9 g | NDB 07028 |
| Pink salmon, canned, drained | 3 oz (85 g) | 115 | 20 g | 16.7 g | NDB 15260 |
| Turkey breast, sliced deli | 4 slices (60 g) | 60 | 9.8 g | 16.3 g | FDC 172941 |
| Smoked salmon (lox) | 2 oz (57 g) | 66 | 10 g | 15.6 g | NDB 15179 |
| Sardines, canned in oil, drained | 3 oz (85 g) | 175 | 21 g | 11.8 g | NDB 15088 |
| Pork rinds, plain | ½ oz (14 g) | 77 | 8.7 g | 11.3 g | NDB 19041 |
| Hard-boiled eggs | 2 large (100 g) | 155 | 13 g | 8.1 g | NDB 01129 |
| Beef jerky | 1 oz (28 g) | 115 | 9.4 g | 8.1 g | FDC 167536 |
Dairy
| Snack | Portion | kcal | Protein | Protein per 100 kcal | USDA record |
|---|---|---|---|---|---|
| Greek yogurt, plain, nonfat | 1 container, 6 oz (170 g) | 100 | 17 g | 17.3 g | FDC 170894 |
| Cottage cheese, 1% fat | ½ cup, 4 oz (113 g) | 81 | 14 g | 17.2 g | FDC 173417 |
| Greek yogurt, plain, low-fat | 6 oz (170 g) | 125 | 17 g | 13.6 g | NDB 01287 |
| Cottage cheese, 2% fat | ½ cup, 4 oz (113 g) | 92 | 12 g | 12.9 g | NDB 01015 |
| Skim milk | 1 cup (245 g) | 83 | 8.3 g | 9.9 g | NDB 01085 |
| Parmesan, hard | 1 oz (28 g) | 110 | 10 g | 9.1 g | NDB 01033 |
| Ricotta, part-skim | ½ cup (124 g) | 170 | 14 g | 8.3 g | NDB 01037 |
| Mozzarella, part-skim (string cheese) | 1 oz, about 1 stick (28 g) | 84 | 6.7 g | 8.1 g | FDC 171244 |
| Swiss cheese | 1 oz (28 g) | 110 | 7.6 g | 6.9 g | NDB 01040 |
Plant-based
| Snack | Portion | kcal | Protein | Protein per 100 kcal | USDA record |
|---|---|---|---|---|---|
| Tofu, firm | ¼ block (81 g) | 63 | 7.3 g | 11.6 g | NDB 16126 |
| Edamame, frozen, cooked | ½ cup, shelled (78 g) | 94 | 9.2 g | 9.8 g | FDC 168411 |
| Dry-roasted soybeans | ¼ cup (23 g) | 105 | 10 g | 9.6 g | NDB 16111 |
| Chickpeas, cooked | ½ cup (82 g) | 135 | 7.3 g | 5.4 g | NDB 16057 |
| Pumpkin seeds, roasted, salted | 1 oz (28 g) | 165 | 8.5 g | 5.2 g | NDB 12516 |
| Hummus | ¼ cup (62 g) | 100 | 4.9 g | 4.8 g | NDB 16158 |
| Peanuts, dry-roasted, salted | 1 oz (28 g) | 165 | 6.9 g | 4.1 g | NDB 16090 |
| Pistachios, dry-roasted, salted | 1 oz, 49 kernels (28 g) | 160 | 6.0 g | 3.7 g | NDB 12652 |
| Almonds | 1 oz (28 g) | 165 | 6.0 g | 3.7 g | NDB 12061 |
| Sunflower seeds, dry-roasted, salted | 1 oz (28 g) | 165 | 5.5 g | 3.3 g | NDB 12537 |
What to pick
If you want the most protein for the fewest calories, start at the top of the first two tables. Tuna, shrimp, chicken breast, nonfat Greek yogurt and 1% cottage cheese all give 17–23 g of protein per 100 kcal. To get 20 g of protein you need about 88 kcal of tuna, around 105 kcal of chicken or shrimp, or about 115 kcal of Greek yogurt or cottage cheese.
If you need something that doesn't need a fridge, look at jerky, pork rinds and dry-roasted soybeans. Canned tuna and salmon also work if you can open a can. Jerky and soybeans give about 8–10 g of protein per 100 kcal, which is half of what tuna gives, but they keep in a bag or a desk drawer.
If you don't eat meat or fish, the leanest options are dairy, then soy. Firm tofu, edamame and dry-roasted soybeans give 10–12 g of protein per 100 kcal. Chickpeas and hummus give about 5 g, because most of their calories come from carbs and, in hummus, from oil.
If you like nuts, treat them as a fat snack with some protein, not as a protein snack. Getting 20 g of protein from almonds takes about 95 g of nuts and roughly 550 kcal. The same 20 g from peanuts is about 480 kcal, and from pumpkin seeds, the best of the nuts and seeds here, about 385. Nuts are filling and fine in a portion, but they aren't an efficient way to add protein. Calories in nuts and seeds →
Watch the salt. The leanest packaged meats and fish are often the saltiest. Two ounces of lox have about 1,130 mg of sodium, three slices of 96% fat-free ham about 880 mg, three ounces of cooked shrimp about 800 mg, an ounce of jerky about 590 mg and four slices of deli turkey about 550 mg. A half-cup of 1% cottage cheese has about 460 mg. If you're watching sodium, tuna, chicken breast, Greek yogurt, eggs, tofu and edamame are much lower. How much salt per day →
How much protein you need in a day depends on your weight and goals. A high-protein snack is one easy way to close the gap between meals. How much protein per day →
How to log it
Protein snacks are easy to log badly, for two reasons.
Portions drift. A "handful" of nuts can be 20 g or 50 g, and a scoop of cottage cheese from the tub is rarely exactly half a cup. For snacks you eat often, weigh the portion once and remember what it looks like. Then say the grams or the count when you log it: "28 grams of almonds", "two hard-boiled eggs", "one 170 gram Greek yogurt". In CalMePlease you can log it by voice or text, and the app shows the estimated weight in grams. If it's off, you can correct it in one tap.
Packaged snacks vary by brand. Jerky, protein bars, flavored yogurts and pork rinds differ a lot from brand to brand, and the USDA numbers above are generic. For anything in a package, scan the barcode instead. The app keeps the serving size printed on the pack, so the numbers match your exact product. Barcode scanner for calories →
Log the snack when you eat it, not at the end of the day. A cup of yogurt at 4 p.m. is easy to forget by evening, and with it 17 g of protein you actually ate. Voice food logging →
FAQ
What snack has the most protein per calorie? Of the 30 snacks here, canned light tuna in water: 22.6 g of protein per 100 kcal, or 17 g in a 73-kcal, 3-oz serving. Cooked shrimp (19.1 g per 100 kcal), roasted chicken breast (18.8 g) and nonfat Greek yogurt (17.3 g) come next.
What is a good high-protein snack with no cooking? Nonfat Greek yogurt (17 g protein, 100 kcal per 6-oz cup), 1% cottage cheese (14 g, 81 kcal per half cup), canned tuna (17 g, 73 kcal per 3 oz) and sliced deli turkey (9.8 g, 60 kcal for four slices). For something shelf-stable, try beef jerky or dry-roasted soybeans.
Are nuts a good high-protein snack? Not if protein is the goal. An ounce of almonds or pistachios has about 6 g of protein and 160–165 kcal, so less than 4 g of protein per 100 kcal. Pumpkin seeds are the best of the nuts and seeds here, at 5.2 g per 100 kcal. Nuts are mostly fat, and they work better as a filling snack than as a protein source.
What are good high-protein snacks for vegetarians? Greek yogurt and cottage cheese if you eat dairy. Without dairy, firm tofu (11.6 g of protein per 100 kcal), edamame (9.8 g) and dry-roasted soybeans (9.6 g) are the leanest options. Chickpeas and hummus have about half that ratio.
Are hard-boiled eggs a high-protein snack? They're a good snack with moderate protein density. Two large hard-boiled eggs give 13 g of protein for 155 kcal, or 8.1 g per 100 kcal, which is about the same as jerky or string cheese and half of Greek yogurt. Calories in eggs →
Is beef jerky healthy as a protein snack? It's convenient and keeps well, but it's not as lean as it looks. An ounce has 9.4 g of protein and 115 kcal, plus about 590 mg of sodium. Brands differ, so check the label or scan the barcode.
Data: USDA FoodData Central, SR Legacy. Each row comes from one record, listed in the table by FDC ID or, where the FDC ID couldn't be confirmed, by its NDB number. Protein per 100 kcal is the record's protein per 100 g divided by its calories per 100 g. Portion weights come from the same records, except the 6-oz low-fat Greek yogurt, 3 oz of sardines and 2 large eggs (50 g each), which are stated in grams. Values checked October 2026.
Related: How much protein per day · Snacks under 100 calories · Calories in Greek yogurt · Calories and protein to build muscle
CalMePlease logs a protein snack from a voice note, a few words of text or the barcode on the pack, and returns calories and protein for the portion you ate. Free on the App Store.