Core meaning
要 (yào) carries weight of intention, decision, or obligation. When you use 要 you are committing: you will order it, do it, insist on it. 想 (xiǎng) is softer — it means "to think about / to feel inclined / to wish". It describes a mental state rather than a commitment. English collapses both into "want to", but Chinese speakers hear the difference immediately: 要 sounds decisive, even a little blunt; 想 sounds polite, exploratory, or tentative.
In ordering at a restaurant
At a restaurant, 要 is the standard way to place your order because you ARE committing to buy and eat the item: 我要一份北京烤鸭 (I want / will have a serving of Peking duck). Using 想 at the ordering moment sounds as though you are still deciding: 我想要北京烤鸭 (I would like / am thinking of having Peking duck). The 想要 combination softens the order politely — useful when browsing, less useful when you have decided.
服务员,我要一杯热水。/我想看看菜单。
Fúwùyuán, wǒ yào yì bēi rè shuǐ. / Wǒ xiǎng kànkan càidān.
Waiter, I want a cup of hot water. / I would like to look at the menu.
In expressing future plans
Both 要 and 想 work for "going to / planning to", with different confidence levels. 我要去北京 (I am going to Beijing) sounds booked, plans made. 我想去北京 (I would like to go to Beijing) sounds aspirational, no tickets yet. When Chinese friends ask about vacation plans, the answer reveals how firm the plan is. For a definite plan, switch to 要 or add certainty markers: 我一定会去 (I will definitely go).
明年我要去北京留学。/我想以后去北京看看。
Míngnián wǒ yào qù Běijīng liúxué. / Wǒ xiǎng yǐhòu qù Běijīng kànkan.
Next year I am going to study in Beijing. / I would like to visit Beijing at some point.
The "want X object" pattern
When the object is a thing (not an action), only 要 works directly: 我要咖啡 (I want coffee). 我想咖啡 is ungrammatical. For 想 to work with an object, insert a verb: 我想喝咖啡 (I would like to drink coffee) — 想 + verb + object. The verb 喝 is essential. This is the single rule that trips beginners most often.
Negation flips more than you think
不想 means "do not want / do not feel like" — a mild refusal: 我不想去 (I do not feel like going). 不要 means "do not want (this object) / do not do this action" — a stronger refusal, often imperative: 不要吃这个 (do not eat this). Telling someone 不要 sounds like a command. Softer refusals almost always use 不想. To reject an offer politely, say 不用了,谢谢 (no need, thanks) rather than 不要.
Other meanings of 要
要 does double duty as "need to / must": 你要早点睡 (you need to sleep earlier). This sense of obligation does NOT exist in 想. 要 also appears in conditional structures: 要是 (if / supposing), 只要 (as long as). 想 stays firmly in the wish/thought lane: 我想念他 (I miss him), 我想明白了 (I figured it out). The split between "must-need" (要) and "think-wish" (想) is the core to internalise.