What's really inside Korean triangle gimbap and dosirak
K-Food Label · Updated Oct 31, 2026


Triangle gimbap (삼각김밥, samgak gimbap) and dosirak (도시락, packed lunch boxes) are the cheapest full meal in a Korean convenience store. They also carry some of the longest labels. We read the official Food QR labels for 66 triangle gimbap and rice balls and 69 dosirak and set meals.
These products are made daily by contract food factories for the big convenience-store chains, and the line-up changes every few weeks. Treat the product names here as examples of a pattern rather than a fixed menu: the pattern has been very stable, even as individual flavours come and go.
How many ingredients?
A triangle gimbap lists about 26 ingredient entries on average, counting the sub-ingredients in brackets. A dosirak averages 49, and the biggest set meals go past a hundred, because every compartment (kimchi, fried chicken, stir-fried fish cake, seasoned vegetables, the rice itself) comes with its own sauce or seasoning mix. The length itself is not the problem. The problem is that in a list that long, one pork-based sauce or a splash of cooking wine is very easy to miss.
Pork: in half the gimbap, nearly every dosirak
37 of 66 triangle gimbap (56%) list pork. Many are obvious from the name: Spam mayo, jeyuk (제육, spicy stir-fried pork), gochujang pork belly, bacon tuna mayo, ham and kimchi fried rice. Others are not. Several Jeonju bibimbap and bulgogi versions list 돼지고기 (pork) among their ingredients. For dosirak the answer is close to always: 65 of 69 (94%) list pork. Ham, sausage, tonkatsu or a pork stir-fry sits in one of the compartments; the few exceptions we found included sushi sets.
The other half of the gimbap is not automatically pork-free in practice. Almost all of them, tuna mayo included, carry a shared-facility warning for pork, because the same lines make the Spam and jeyuk versions. And watch one word: 우삼겹 (usamgyeop) is thinly sliced beef brisket, not pork, even though 삼겹 on its own means pork belly.






Mayo, egg and the allergen count
33 of the 66 triangle gimbap (50%) contain mayonnaise: tuna mayo, Spam mayo, chicken mayo, pollack roe mayo and more. Every one of those also lists egg, because the mayonnaise is made with egg yolk. If you avoid egg, "마요" (mayo) in the name is the quickest warning sign.
Dosirak list 9.8 of Korea's 19 labelled allergens on average. Milk, soybean and wheat appear in all of them, and most also list egg, beef, shellfish and tomato. With a real food allergy, a dosirak is one of the hardest things to buy safely in a Korean convenience store; a plain triangle gimbap with a short list is a far better bet.
Alcohol and MSG
Across all ready-to-eat products, 14% list an alcohol, most often 미림 (mirim, sweet cooking wine) in the marinade for bulgogi or other meat, sometimes 주정 (jujeong, ethanol) in a sauce. MSG, written 글루탐산나트륨 or L-글루탐산나트륨, appears in 23% of ready-to-eat products. Neither is a safety problem, but both matter if you avoid alcohol or prefer to skip MSG.
How to check before you pay
The full label is printed on the wrapper or on a sticker on the back of the tray. Find the allergen line (알레르기 유발물질, or the list ending in 함유, contains) and look for 돼지고기 (pork), 쇠고기 (beef), 닭고기 (chicken), 계란 or 알류 (egg) and 우유 (milk). For pork, the name is often enough of a clue: 햄 (ham), 스팸 (Spam), 베이컨 (bacon), 제육 (stir-fried pork), 돈까스 (tonkatsu), 삼겹 (pork belly). For alcohol, scan the ingredients for 미림, 청주 and 주정.
Because the line-up changes so fast, the same name can come back with a new recipe. Check the wrapper in your hand rather than relying on what you bought last time, and use the barcode search on this site to see the label in English.
Numbers are computed from the Food QR label data published by Korea’s Ministry of Food and Drug Safety and update every week. Products without allergen data (460) are excluded.