Every Singapore fast food main, ranked by protein per calorie
I pulled the published nutrition data for every main on the menus of McDonald's, KFC, Burger King and Jollibee in Singapore and ranked all 109 of them by a single number: calories per gram of protein. Lower is better - more protein for fewer calories.
It is not close. Fried bone-in chicken beats every burger on the board. Five of the top six are chicken pieces, and no beef burger makes the top seven.
Top 15
| # | kcal/g | Cal | Protein | Chain | Item |
|---|---|---|---|---|---|
| 1 | 8.90 | 427 | 48g | Burger King | Mexican Drumlets ⚠ |
| 2 | 9.78 | 353 | 36.1g | KFC | Original Recipe Tenders (3pcs) ⚠ |
| 3 | 11.00 | 220 | 20g | Jollibee | Chickenjoy Drumstick (1 pc) |
| 4 | 11.91 | 168 | 14.1g | KFC | Original Recipe Chicken Drumstick |
| 5 | 13.45 | 269 | 20g | KFC | Hot & Crispy Chicken Bites (6pcs) |
| 6 | 13.74 | 213 | 15.5g | KFC | Hot & Crispy Chicken Drumstick |
| 7 | 14.07 | 380 | 27g | Jollibee | Chickenjoy Thigh (1 pc) |
| 8 | 14.34 | 717 | 50g | McDonald's | Double Quarter Pounder with Cheese |
| 9 | 14.38 | 345 | 24g | Burger King | Tendergrill Chicken |
| 10 | 15.00 | 390 | 26g | Burger King | Mushroom Swiss Tendergrill Chicken |
| 11 | 15.00 | 240 | 16g | Jollibee | Spicy Chickenjoy Drumstick (1 pc) |
| 12 | 15.07 | 455 | 30.2g | KFC | BBQ Tender Burger |
| 13 | 15.13 | 590 | 39g | McDonald's | Chicken McCrispy Signature (2pc) |
| 14 | 15.22 | 350 | 23g | Jollibee | Spicy Chickenjoy Thigh (1 pc) |
| 15 | 15.26 | 580 | 38g | McDonald's | Triple Cheeseburger |
⚠ Two values are flagged. Burger King's Mexican Drumlets and KFC's 3 pc tenders both pass an internal consistency check on their own macros but fail external plausibility - the drumlet protein load implies far more edible chicken than the portion contains, and KFC's US equivalent tender is listed much higher. If you drop both, the verified top pick is Jollibee's Chickenjoy Drumstick at 11.00 kcal/g.
The full ranking
All 109 items, best to worst
| # | kcal/g | Cal | Protein | Chain | Item |
|---|---|---|---|---|---|
| 1 | 8.90 | 427 | 48g | Burger King | Mexican Drumlets ⚠ |
| 2 | 9.78 | 353 | 36.1g | KFC | Original Recipe Tenders (3pcs) ⚠ |
| 3 | 11.00 | 220 | 20g | Jollibee | Chickenjoy Drumstick (1 pc) |
| 4 | 11.91 | 168 | 14.1g | KFC | Original Recipe Chicken Drumstick |
| 5 | 13.45 | 269 | 20g | KFC | Hot & Crispy Chicken Bites (6pcs) |
| 6 | 13.74 | 213 | 15.5g | KFC | Hot & Crispy Chicken Drumstick |
| 7 | 14.07 | 380 | 27g | Jollibee | Chickenjoy Thigh (1 pc) |
| 8 | 14.34 | 717 | 50g | McDonald's | Double Quarter Pounder with Cheese |
| 9 | 14.38 | 345 | 24g | Burger King | Tendergrill Chicken |
| 10 | 15.00 | 390 | 26g | Burger King | Mushroom Swiss Tendergrill Chicken |
| 11 | 15.00 | 240 | 16g | Jollibee | Spicy Chickenjoy Drumstick (1 pc) |
| 12 | 15.07 | 455 | 30.2g | KFC | BBQ Tender Burger |
| 13 | 15.13 | 590 | 39g | McDonald's | Chicken McCrispy Signature (2pc) |
| 14 | 15.22 | 350 | 23g | Jollibee | Spicy Chickenjoy Thigh (1 pc) |
| 15 | 15.26 | 580 | 38g | McDonald's | Triple Cheeseburger |
| 16 | 15.64 | 1,908 | 122g | McDonald's | Chicken McCrispy Signature (6pc) |
| 17 | 15.70 | 457 | 29.1g | KFC | Cheesy Tenders Twister |
| 18 | 15.74 | 425 | 27g | Burger King | Ultimate Angus Classic BBQ |
| 19 | 15.84 | 507 | 32g | McDonald's | Quarter Pounder with Cheese |
| 20 | 16.40 | 492 | 30g | McDonald's | Scrambled Egg Burger with Sausage |
| 21 | 16.41 | 443 | 27g | McDonald's | Double Cheeseburger |
| 22 | 16.46 | 428 | 26g | Burger King | Ultimate Angus Mushroom Swiss |
| 23 | 16.52 | 309 | 18.7g | KFC | Salad Bowl - Black Vinegar & Onion Dressing - 5 pc Chicken Bites |
| 24 | 16.55 | 235 | 14.2g | KFC | Lil' Tender Twister |
| 25 | 16.73 | 368 | 22g | Burger King | BK Nuggets |
| 26 | 16.76 | 352 | 21g | Burger King | Single BBQ Turkey Bacon |
| 27 | 16.90 | 2,028 | 120g | McDonald's | Chicken McCrispy Mix (6pc) |
| 28 | 16.94 | 559 | 33g | Jollibee | Chicken Sandwich (Spicy) |
| 29 | 17.06 | 273 | 16g | McDonald's | Hamburger Meal with Garden Side Salad and Ice Mountain |
| 30 | 17.13 | 1,730 | 101g | McDonald's | Happy Sharing Box A |
| 31 | 17.23 | 603 | 35g | McDonald's | McWings (4pc) |
| 32 | 17.30 | 865 | 50g | McDonald's | Happy Sharing Box B |
| 33 | 17.67 | 689 | 39g | McDonald's | Chicken McCrispy Spicy (2pc) |
| 34 | 17.95 | 603 | 33.6g | KFC | The Ultimate Smokey Zinger |
| 35 | 18.07 | 253 | 14g | McDonald's | Hamburger |
| 36 | 18.10 | 523 | 28.9g | KFC | Original Recipe Riser & Egg Burger |
| 37 | 18.20 | 2,148 | 118g | McDonald's | Chicken McCrispy Spicy (6pc) |
| 38 | 18.21 | 346 | 19g | Burger King | Cheeseburger |
| 39 | 18.37 | 496 | 27g | McDonald's | Big Breakfast |
| 40 | 18.45 | 609 | 33g | Jollibee | Chicken Sandwich (Original) |
| 41 | 18.47 | 351 | 19g | Burger King | Single Mushroom Swiss |
| 42 | 18.53 | 556 | 30g | McDonald's | Scrambled Egg Burger with Chicken |
| 43 | 18.58 | 446 | 24g | Burger King | Chicken Sausage Croissan'wich with Egg |
| 44 | 18.65 | 513 | 27.5g | KFC | Original Recipe Twister |
| 45 | 18.84 | 938 | 49.8g | KFC | Zinger Stacker |
| 46 | 18.86 | 396 | 21g | McDonald's | Cheeseburger Meal with Corn and Ice Mountain |
| 47 | 18.94 | 303 | 16g | McDonald's | Cheeseburger |
| 48 | 19.22 | 711 | 37g | Burger King | Western WHOPPER |
| 49 | 19.26 | 364 | 18.9g | KFC | Salad Bowl - Caesar Dressing - 5 pc Chicken Bites |
| 50 | 19.28 | 347 | 18g | Burger King | Chicken Sausage Croissan'wich |
| 51 | 19.31 | 309 | 16g | Burger King | Hamburger |
| 52 | 19.33 | 402 | 20.8g | KFC | Original Recipe Riser Burger |
| 53 | 19.42 | 466 | 24g | McDonald's | Double Filet-O-Fish |
| 54 | 19.48 | 409 | 21g | McDonald's | Chicken McNuggets (9pc) |
| 55 | 19.50 | 273 | 14g | McDonald's | Chicken McNuggets (6pc) |
| 56 | 19.54 | 469 | 24g | Burger King | Mushroom Swiss Croissan'wich with Egg |
| 57 | 19.72 | 572 | 29g | Burger King | Ultimate Chicken King |
| 58 | 19.78 | 910 | 46g | McDonald's | Chicken McNuggets (20pc) |
| 59 | 19.88 | 509 | 25.6g | KFC | Zinger |
| 60 | 19.89 | 358 | 18g | Burger King | Turkey Ham Croissan'wich with Egg |
| 61 | 19.93 | 558 | 28g | McDonald's | Big Mac |
| 62 | 20.05 | 3,108 | 155g | McDonald's | Happy Sharing Combo |
| 63 | 20.43 | 2,676 | 131g | McDonald's | Chicken McCrispy Signature (6pc) Bundle |
| 64 | 20.50 | 410 | 20g | Jollibee | Palabok Fiesta |
| 65 | 20.61 | 505 | 24.5g | KFC | BBQ Pockett |
| 66 | 20.73 | 311 | 15g | Burger King | Turkey Bacon Croissan'wich with Egg |
| 67 | 20.79 | 788 | 37.9g | KFC | Original Recipe Stacker |
| 68 | 20.87 | 384 | 18.4g | McDonald's | Buttermilk Chicken Salad |
| 69 | 20.93 | 607 | 29g | Burger King | Plant-Based WHOPPER |
| 70 | 21.45 | 472 | 22g | McDonald's | Breakfast Wrap Chicken Sausage |
| 71 | 21.51 | 2,796 | 130g | McDonald's | Chicken McCrispy Mix (6pc) Bundle |
| 72 | 21.51 | 753 | 35g | Burger King | Plant-Based WHOPPER w/ Cheese |
| 73 | 21.54 | 883 | 41g | McDonald's | Double McSpicy with Cheese |
| 74 | 21.64 | 474 | 21.9g | KFC | Original Recipe Burger |
| 75 | 21.92 | 833 | 38g | McDonald's | Double McSpicy |
| 76 | 21.94 | 351 | 16g | McDonald's | Filet-O-Fish Meal with Garden Side Salad and Ice Mountain |
| 77 | 21.95 | 812 | 37g | Burger King | Mushroom Swiss Plant-Based WHOPPER |
| 78 | 22.13 | 332 | 15g | McDonald's | Filet-O-Fish |
| 79 | 22.73 | 591 | 26g | McDonald's | McSpicy with Cheese |
| 80 | 22.78 | 2,916 | 128g | McDonald's | Chicken McCrispy Spicy (6pc) Bundle |
| 81 | 23.38 | 374 | 16g | Burger King | Whopper Jr. |
| 82 | 23.52 | 541 | 23g | McDonald's | McSpicy |
| 83 | 24.14 | 700 | 29g | Burger King | WHOPPER with Cheese |
| 84 | 24.34 | 545 | 22.4g | McDonald's | Spicy Chicken McWrap |
| 85 | 24.37 | 1,004 | 41.2g | McDonald's | Double McCrispy |
| 86 | 24.50 | 441 | 18g | McDonald's | McChicken with Cheese |
| 87 | 24.86 | 547 | 22g | Burger King | Spicy Chicken King |
| 88 | 25.12 | 628 | 25g | Burger King | Long Chicken |
| 89 | 25.23 | 386 | 15.3g | KFC | Famous Bowl |
| 90 | 25.29 | 430 | 17g | McDonald's | Breakfast Wrap Chicken Ham |
| 91 | 25.42 | 483 | 19g | McDonald's | McChicken Meal with Corn and Ice Mountain |
| 92 | 25.62 | 410 | 16g | McDonald's | McChicken Meal with Garden Side Salad and Ice Mountain |
| 93 | 25.86 | 393 | 15.2g | KFC | Chicken Macaroni Soup (14 oz) |
| 94 | 25.97 | 805 | 31g | McDonald's | Breakfast Deluxe |
| 95 | 26.04 | 625 | 24g | Burger King | WHOPPER |
| 96 | 26.07 | 391 | 15g | McDonald's | McChicken |
| 97 | 26.31 | 421 | 16g | McDonald's | Filet-O-Fish Meal with Corn and Ice Mountain |
| 98 | 26.35 | 606 | 23g | KFC | Mac N Cheese Bowl |
| 99 | 26.52 | 610 | 23g | Jollibee | Jolly Spaghetti |
| 100 | 26.58 | 638 | 24g | McDonald's | McCrispy |
| 101 | 27.04 | 457 | 16.9g | KFC | American Twister |
| 102 | 27.27 | 409 | 15g | Burger King | BBQ Chicken Burger |
| 103 | 28.42 | 739 | 26g | McDonald's | Buttermilk Crispy Chicken |
| 104 | 28.50 | 690 | 24.2g | McDonald's | Buttermilk Chicken McWrap |
| 105 | 28.53 | 428 | 15g | Burger King | Chicken Croissan'wich |
| 106 | 29.34 | 3,961 | 135g | McDonald's | Happy Sharing Snacks |
| 107 | 31.06 | 497 | 16g | Burger King | Fish Burger |
| 108 | 33.40 | 501 | 15g | Burger King | Fish Croissan'wich |
| 109 | 38.69 | 619 | 16g | McDonald's | Hotcakes with Sausage |
Which chain should you pick?
Median ratio per chain, across every qualifying main:
| Chain | Median | Best | Items |
|---|---|---|---|
| Jollibee | 16.94 | 11.00 | 8 |
| KFC | 18.84 | 9.78 | 22 |
| Burger King | 19.72 | 8.90 | 29 |
| McDonald's | 20.43 | 14.34 | 50 |
KFC is the most reliably protein-efficient chain on a decent sample. Jollibee has the best median and the single best item, but on only eight dishes. Burger King has one outlier then falls off a cliff. McDonald's is the laggard at both ends - worst median and worst best-in-chain, with 50 items and not one under 14.3.
How I calculated it
The ranking number is just stated calories / stated grams of protein. From 221 scraped rows I kept 109: I dropped 30 for having under 12 g of protein (below that the ratio is noise) and 79 by category - drinks, coffee, desserts, fries, sauces and the like.
Every item is then cross-checked against its own macros, 9 x fat + 4 x carb + 4 x protein, flagged if it deviates more than 12%. McDonald's passed on all 99 items.
That check earned its keep. Burger King had published kilojoules in the calorie field on two Ultimate Angus items - stated 1780 kcal against a macro sum of 449. Dividing by 4.184 gives 425, which matches. Corrected here. Uncorrected, both would have ranked as the worst things on the board.
Two limits worth naming: there is no portion normalisation (items are compared as sold, not per 100 g - you buy a drumstick, not 100 g of drumstick), and no bun or batter subtraction, which is exactly why fried chicken wins. The ratio penalises the bread, not the meat.
Sources
Nutrition figures come from the Singapore nutrition pages published by each chain. McDonald's Singapore is the highest confidence (full macro validation pass). Burger King's published data is the least reliable - beyond the two unit errors, its Western Whopper sodium field is also corrupted. Jollibee Singapore publishes no nutrition data at all (its site links only an allergen sheet), so those figures are Jollibee's official published nutrition facts, which match Singapore values on regional databases.
This is an independent analysis of publicly published nutrition information. It is not affiliated with any of these companies and is not dietary or medical advice. Values are published averages, vary by portion and preparation, and change over time - check current in-store information before relying on any figure.