A gói (wrapped portion) of xôi is about 309 to 502 kcal in FitArchive’s recipe estimates, depending on what goes on top. Xôi xéo comes to about 309 kcal and 7 g of protein, xôi gà about 361 kcal and 21 g, and xôi mặn about 498 kcal and 22 g. Averaged over the whole gói, that is roughly 124 to 173 kcal per 100 g. Plain cooked sticky rice is 97 kcal per 100 g in the USDA value the app uses, against 130 kcal for cooked white rice, but that gap comes from water in the cooked rice, not from a lighter grain: uncooked, the two are 370 and 365 kcal per 100 g.
Every number below is an estimate for the stated recipe weights, built from USDA ingredient data and rounded. Street vendors vary a lot: how much rice they press into the leaf or box, how much fried shallot fat (mỡ hành) they spoon over, and extras such as pork floss (chà bông), pâté, Chinese sausage or a fried egg. A laboratory study of 269 restaurant foods found about one in five contained at least 100 kcal more than stated, so treat any figure for an unweighed portion as a starting point.
How many calories are in xôi? Every xôi compared
These are FitArchive’s regular portions (one gói), sorted by calories. The last column is the average for 100 g of the whole gói, toppings included.
| Xôi (regular gói) | Weight | Calories | Protein | Carbs | Fat | Per 100 g |
|---|---|---|---|---|---|---|
| Xôi xéo (mung bean, fried shallots) | 235 g | 309 kcal | 7 g | 47 g | 11 g | 131 kcal |
| Xôi đậu xanh (mung beans) | 240 g | 316 kcal | 7 g | 52 g | 9 g | 132 kcal |
| Xôi gấc (gấc fruit) | 240 g | 319 kcal | 4 g | 55 g | 9 g | 133 kcal |
| Xôi vò (mung bean coated) | 275 g | 342 kcal | 9 g | 63 g | 6 g | 124 kcal |
| Xôi gà (chicken) | 253 g | 361 kcal | 21 g | 38 g | 13 g | 143 kcal |
| Xôi bắp (corn) | 285 g | 372 kcal | 8 g | 66 g | 10 g | 131 kcal |
| Xôi đậu phộng (peanuts) | 245 g | 415 kcal | 10 g | 59 g | 16 g | 169 kcal |
| Xôi pate (pâté and pork roll) | 290 g | 459 kcal | 16 g | 44 g | 24 g | 158 kcal |
| Xôi thịt kho (braised pork) | 303 g | 480 kcal | 25 g | 51 g | 19 g | 158 kcal |
| Xôi mặn (savoury, mixed toppings) | 288 g | 498 kcal | 22 g | 39 g | 28 g | 173 kcal |
| Xôi xá xíu (char siu) | 306 g | 502 kcal | 25 g | 55 g | 19 g | 164 kcal |
Each recipe uses 150 to 200 g of cooked sticky rice. A few recipe notes: xôi thịt kho uses the value for cooked pork shoulder because a braised-pork value is not in the dataset, xôi xá xíu is estimated from cooked pork shoulder plus hoisin sauce and sugar, and the sweet versions include sugar: 10 g in xôi gấc, xôi bắp, xôi đậu phộng and xôi vò, and 5 g in xôi đậu xanh. For comparison from the same dataset, a regular beef phở is about 418 kcal and 38 g protein and a bánh mì trứng about 464 kcal and 23 g. The full list of 263 dishes is in the Vietnamese food calories and protein table.
Sticky rice vs white rice calories per 100 g
This is the comparison people search for most. From FitArchive’s food catalogue (USDA values):
| Per 100 g | Calories | Protein | Carbs | Fat |
|---|---|---|---|---|
| Cooked sticky rice (xôi, gạo nếp chín) | 97 kcal | 2 g | 21 g | 0 g |
| Cooked white rice (cơm trắng) | 130 kcal | 3 g | 28 g | 0 g |
| Uncooked sticky rice (gạo nếp) | 370 kcal | 7 g | 82 g | 1 g |
| Uncooked white rice (gạo trắng) | 365 kcal | 7 g | 80 g | 1 g |
What this does mean: if you weigh cooked rice and log it with these values, 100 g of cooked sticky rice counts for fewer calories than 100 g of cooked white rice.
What it does not mean: that sticky rice is a lighter grain. Uncooked, the two are almost identical. The cooked figure depends on how much water the rice holds, and the USDA cooked glutinous rice sample holds more water per gram than the white rice sample. Steamed xôi from a vendor is often firmer and drier, which would put more rice, and more calories, into each 100 g. And most of the gap between xôi dishes comes from fat and toppings, not from the rice.
Where do the calories in xôi mặn come from?
Xôi mặn and xôi xá xíu are the two highest-calorie gói here, about 500 kcal each. Xôi mặn broken into its parts:
| Part | Weight | Calories | Share of kcal | Protein |
|---|---|---|---|---|
| Cooked sticky rice | 180 g | 175 kcal | 35% | 4 g |
| Steamed pork roll (giò lụa, packaged brand values) | 30 g | 78 kcal | 16% | 5 g |
| Pork shoulder (grilled value) | 30 g | 78 kcal | 16% | 8 g |
| Chinese sausage (lạp xưởng) | 20 g | 65 kcal | 13% | 4 g |
| Quail eggs (about two) | 20 g | 32 kcal | 6% | 3 g |
| Fried shallots and fat (hành phi, mỡ) | 8 g | 71 kcal | 14% | 0 g |
| Total | 288 g | 498 kcal | 22 g |

The rice is only about a third of the calories; the toppings add the rest.
Rows are rounded, so they can differ from the total by 1 or 2.
The rice is only about a third of the calories. The toppings add almost two thirds, and the 8 g of fried shallot fat alone adds 71 kcal. Chinese sausage and giò lụa bring fat along with their protein, so xôi mặn has 28 g of fat, the most of any xôi here. Vendors who add chà bông, pâté or a second slice of lạp xưởng will push the gói higher.
Xôi xéo: why the fried shallots matter
| Part | Weight | Calories | Share of kcal | Protein |
|---|---|---|---|---|
| Cooked sticky rice | 180 g | 175 kcal | 57% | 4 g |
| Cooked mung beans | 40 g | 42 kcal | 14% | 3 g |
| Fried shallots and fat | 10 g | 88 kcal | 29% | 0 g |
| Shallots | 5 g | 4 kcal | 1% | 0 g |
| Total | 235 g | 309 kcal | 7 g |
Ten grams of fried shallot fat, about a spoonful, is close to a third of the gói. That is the part people forget to count. With only 7 g of protein, xôi xéo is a carbohydrate breakfast; it fills you up for its price, but it will not cover much of a day’s protein.
Xôi calories for small, large, less rice and more meat
FitArchive scales the whole dish for size (small ×0.75, large ×1.3) and scales only the rice for “less” (×0.5) or “more” (×1.5). Applying those factors:
| Xôi mặn | Less rice | Normal rice | More rice |
|---|---|---|---|
| Small | 308 kcal, 15 g protein | 373 kcal, 17 g protein | 439 kcal, 18 g protein |
| Regular | 410 kcal, 20 g protein | 498 kcal, 22 g protein | 585 kcal, 24 g protein |
| Large | 533 kcal, 27 g protein | 647 kcal, 29 g protein | 760 kcal, 31 g protein |
| Xôi xéo | Less rice | Normal rice | More rice |
|---|---|---|---|
| Small | 166 kcal, 4 g protein | 231 kcal, 5 g protein | 297 kcal, 6 g protein |
| Regular | 221 kcal, 5 g protein | 309 kcal, 7 g protein | 396 kcal, 8 g protein |
| Large | 288 kcal, 6 g protein | 401 kcal, 8 g protein | 515 kcal, 11 g protein |
In xôi gà, xôi mặn, xôi thịt kho, xôi xá xíu and xôi pate, a second part can be set to less (×0.5) or more (×1.5): the chicken, the pork or the pâté. In xôi mặn that is only the 30 g of pork shoulder, so “more meat” changes little. In xôi gà it is the 60 g of chicken, and the effect is larger:
| Xôi gà, regular gói | Less rice | Normal rice | More rice |
|---|---|---|---|
| Less chicken | 217 kcal, 11 g protein | 304 kcal, 12 g protein | 391 kcal, 14 g protein |
| Normal chicken | 274 kcal, 19 g protein | 361 kcal, 21 g protein | 448 kcal, 23 g protein |
| More chicken | 331 kcal, 28 g protein | 418 kcal, 30 g protein | 505 kcal, 31 g protein |
For xôi mặn with more meat, a regular gói comes to about 536 kcal and 26 g protein; for xôi thịt kho with more meat, about 584 kcal and 35 g.
Is xôi fattening? Is it OK for breakfast?
No single food makes you gain or lose fat. Body weight follows your overall energy intake and expenditure across days and weeks. In a two-year trial of 811 adults, reduced-calorie diets led to similar weight loss whether they emphasized fat, protein or carbohydrate. So the useful question is how a gói fits into your day.
By these estimates, a plain or sweet xôi is a moderate breakfast of 309 to 415 kcal, mostly carbohydrate and low in protein. The meat versions land at 361 to 502 kcal with 16 to 25 g of protein, more like a full meal. Calories add up quickly with a large gói with every topping, or xôi plus a sweet coffee or milk tea. If breakfast is xôi xéo, the rest of the day may need more protein; the protein per day guide covers the research.
Savoury xôi also carries salt from fish sauce, soy sauce, sausage and pork roll. These estimates do not cover sodium, and the World Health Organization recommends adults keep sodium below 2,000 mg a day. This is general information, not individual nutrition advice; for personal targets, ask a dietitian or doctor.
Can you eat xôi before training?
Yes, for many people it works. The International Society of Sports Nutrition position stand on nutrient timing puts total daily intake first, and our guide to pre and post workout meals suggests a normal meal with carbohydrate and protein about 1 to 3 hours before training as a sensible default. Xôi gà or xôi thịt kho fits that pattern. A plain xôi xéo gives carbohydrate with little protein, so pair it with something like eggs or milk.
Some people find a fatty gói such as xôi mặn heavy if they train soon after. If that is you, eat it earlier or choose a smaller or leaner gói. Nothing about xôi itself makes it bad before a workout.
Higher-protein xôi choices
Per 100 kcal, xôi gà gives about 6 g of protein, xôi thịt kho and xôi xá xíu about 5 g, xôi mặn about 4 g, and the bean, corn and gấc versions only 1 to 3 g. For comparison, beef phở gives about 9 g per 100 kcal. A review of protein and weight management suggested meals with at least about 25 to 30 g of protein for a modest increase in fullness. Ways to get there with xôi:
- Pick a meat xôi. Xôi gà, xôi thịt kho or xôi xá xíu instead of xôi xéo or xôi gấc.
- Swap rice for meat. Xôi gà with less rice and more chicken is about 331 kcal and 28 g protein, fewer calories than the default gói with 7 g more protein.
- Add an egg. A hard-boiled chicken egg is about 78 kcal and 6 g protein in FitArchive’s catalogue; see how many eggs a day for lifters.
- Ask for less mỡ hành. It costs calories without adding protein.
Common mistakes when logging xôi
- Logging only the rice. In xôi mặn the rice is about a third of the calories. Pick an entry that includes the toppings.
- Using white rice values for weighed xôi, or the other way round. Per 100 g cooked, the catalogue values differ by 33 kcal. Use the sticky rice entry for sticky rice.
- Forgetting the fried shallot fat. In xôi xéo it is 88 kcal of a 309 kcal gói.
- Assuming sweet xôi is light. Xôi gấc and xôi bắp include 10 g of sugar plus coconut; xôi đậu phộng has 25 g of peanuts and comes to 415 kcal.
- Guessing the gói size. A large gói is 30% more than a regular one, about 149 extra kcal for xôi mặn. Extras such as chà bông, pâté or a fried egg are not in these recipes; log them separately.
Under-recording is common: in one small clinical study, adults who reported very low intakes had under-reported their food by about 47% on average. Logging at the meal, extras included, matters more than weighing every grain.
Logging xôi in FitArchive
FitArchive is a free, private food and training log that works in the browser. Its food log has about 263 Vietnamese dishes built from weighed parts using USDA ingredient data, including all eleven xôi above. Log a gói as small, regular or large, set the rice to less or more, set the meat to less or more where the dish allows it, and the day’s calories and protein update. The demo has sample data. For other breakfasts, see the bánh mì calories guide and the phở calories guide.
