Plan your trip
Eating in Shanghai when you can't read the menu: QR ordering, 'not spicy' and dietary cards in Chinese
Order by QR code, picture menu or camera translation, ask for no chilli, and show Chinese cards for vegetarian, vegan, halal and allergies.
Last checked on 22 October 2026.

The short answer. You can eat well in Shanghai without reading Chinese if you use three tools: the QR code on the table, a picture menu, and your phone’s camera translation. For anything you cannot eat, do not rely on a translated menu. Show the staff a short Chinese sentence from the cards below, and ask them to confirm. This page is about method only, so it names no restaurants. To build one card that covers everything you can’t eat, use our Chinese dietary card; the staff can tap their answer and you read it in English.
How does ordering by QR code work?
Many restaurants put a QR code on the table. You scan it with WeChat (微信, Wēixìn) or Alipay (支付宝, Zhīfùbǎo), and a menu opens inside the app as a “mini-program” (小程序, xiǎochéngxù). You tap the dishes, send the order, and the kitchen gets it.
- Open the scanner inside the app rather than the phone’s own camera: Scan in Alipay, or Scan under the “+” menu in WeChat.
- Some menus are only in Chinese. Use camera translation (see below) or switch to a picture menu.
- Some mini-programs ask you to log in or share a phone number before you can order. You do not have to accept. If you would rather not, ask a member of staff to take your order instead, or point at dishes on a picture menu.
- Some places bring the bill to the table, and some let you pay in the mini-program. For setting up payment, see How to pay in Shanghai.
What if there is no QR code?
- Picture menus. Many restaurants have photos beside each dish. Point to the dish, hold up fingers for the number you want, and say 这个 (zhège, “this one”).
- Look at other tables. Pointing at someone’s dish is normal and usually gets a smile.
- Camera translation. Translation apps with a live camera mode can overlay English on a Chinese menu. Download the offline Chinese pack before you go in case your connection is slow; see Phone and internet in Shanghai. Treat the result as a rough guide. Dish names are often translated literally and can be misleading, and a translation will not tell you whether a dish contains lard or meat stock.
- Ask the staff. 这个有肉吗?(Zhège yǒu ròu ma? “Does this have meat?”) is worth saving to your phone.
How do I ask for food that is not spicy?
Say this at the point of ordering, and say it for each dish if you can.
Not spicy, please. 不要辣。(Bú yào là.)
A little spicy only. 微辣。(Wēi là.)
If a dish is normally spicy, staff may tell you it cannot be changed. In that case, pick another one. Chilli can also be in the sauce or oil, so repeat the request when the food arrives if you are sensitive to it.
Cards to show staff
Show the card on your phone or print it. Ask the staff to read it and confirm, rather than just nodding. Cards are a communication aid and not a guarantee: kitchens in small restaurants often share oil, woks and stock, and cross-contact is possible. If you have a severe allergy, take extra care and consider eating where you can talk to the cook directly.
Vegetarian
Meat stock and lard are common in dishes that look vegetarian, so say so explicitly.
I am vegetarian. I don’t eat meat, fish or seafood. Please don’t use lard or meat broth. 我吃素,不吃肉、鱼、海鲜,也不要用猪油和肉汤。 (Wǒ chī sù, bù chī ròu, yú, hǎixiān, yě bú yào yòng zhūyóu hé ròutāng.)
Vegan
I am vegan. I don’t eat meat, fish, seafood, eggs, milk or dairy. Please don’t use lard or meat broth. 我吃纯素,不吃肉、鱼、海鲜、蛋和奶制品,也不要用猪油和肉汤。 (Wǒ chī chúnsù, bù chī ròu, yú, hǎixiān, dàn hé nǎizhìpǐn, yě bú yào yòng zhūyóu hé ròutāng.)
Halal, no pork
I don’t eat pork or anything made with pork, including lard. Is this dish halal? 我不吃猪肉,也不吃含猪肉或猪油的食物。这个菜是清真的吗? (Wǒ bù chī zhūròu, yě bù chī hán zhūròu huò zhūyóu de shíwù. Zhège cài shì qīngzhēn de ma?)
The word 清真 (qīngzhēn) means halal. A sign with this word is a starting point, but ask each time.
Allergies
I am allergic to peanuts. Please don’t use peanuts or peanut oil in my food. 我对花生过敏,请不要放花生或花生油。 (Wǒ duì huāshēng guòmǐn, qǐng bú yào fàng huāshēng huò huāshēngyóu.)
I am allergic to shellfish (shrimp, crab). Please make sure my food has none. 我对贝类和虾蟹过敏,请确认菜里没有这些。 (Wǒ duì bèilèi hé xiāxiè guòmǐn, qǐng quèrèn càilǐ méiyǒu zhèxiē.)
I am allergic to gluten and wheat. I can’t eat noodles, dumplings or bread, or soy sauce that contains wheat. 我对麸质和小麦过敏,不能吃面条、饺子、面包,也不能吃含小麦的酱油。 (Wǒ duì fūzhì hé xiǎomài guòmǐn, bù néng chī miàntiáo, jiǎozi, miànbāo, yě bù néng chī hán xiǎomài de jiàngyóu.)
I am allergic to sesame. Please don’t use sesame or sesame oil. 我对芝麻过敏,请不要放芝麻或芝麻油。 (Wǒ duì zhīma guòmǐn, qǐng bú yào fàng zhīma huò zhīmayóu.)
Sesame oil and peanut oil are common finishing oils in Chinese cooking, so name the oil as well as the ingredient.
If it doesn’t work
- Staff look unsure. Hand over your phone with the card and wait. Pointing at the Chinese is more effective than reading it aloud.
- They say “yes” to everything. Ask a follow-up in a different form, such as 有肉吗?(Yǒu ròu ma? “Is there meat?”). A confident “no” is more useful than a polite “yes”.
- You cannot get a clear answer. Choose a simple dish you can see being made, such as plain steamed rice with a stir-fried vegetable, or leave and try somewhere else.
- A QR menu won’t load. Check your connection, and see Phone and internet in Shanghai. If it still fails, ask for a paper menu: 有纸质菜单吗?(Yǒu zhǐzhì càidān ma?)
More on eating in Shanghai
- What to eat in Shanghai: 25 local dishes and what’s in them
- Halal, kosher, Hindu, Jain and Buddhist food
- Vegetarian and vegan in Shanghai
- Food allergies in Shanghai
Small print
This page gives language help, not medical advice. If you have a serious allergy, carry your own medication and see Seeing a doctor in Shanghai for what to do in an emergency. Ask a Chinese-speaking friend or hotel staff to read it once if you want a second opinion.