Short answer: Add a pinyin input method in your system settings, switch to it, then type Chinese phonetically in Roman letters — zhongwen — and pick 中文 from the candidate list with Space or a number key. No tone marks required.
Chinese uses the same conversion loop as Japanese: you type a romanisation, the software offers characters, you choose. What’s different is that there’s no intermediate alphabet — pinyin goes straight to hanzi — and that you have to make one decision before you install anything. If you write in several languages, start at the foreign-language typing hub.
Need marks outside the Chinese set? The full copy-and-paste symbol keyboard has every currency sign, bracket and punctuation mark on one page.
First: Simplified or Traditional?
This isn’t a display preference. They’re different character sets, and they use different input methods.
| Simplified 简体 | Traditional 繁體 | |
|---|---|---|
| Used in | Mainland China, Singapore | Taiwan, Hong Kong, Macau |
| Typical input | Pinyin | Zhuyin (bopomofo) in Taiwan; Cangjie or Sucheng in Hong Kong |
| Language tag | zh-Hans | zh-Hant |
| Example | 学习中文 | 學習中文 |
If you’re learning Mandarin from most Western courses, you want Simplified + pinyin. If your audience is Taiwanese or Hong Kong-based, you want Traditional — and you can still type it with pinyin (macOS has Pinyin – Traditional, and Windows can output Traditional from the pinyin IME), so you don’t have to learn zhuyin to produce it.
You don’t have to choose forever. Install both; switch when you need to.
The loop: pinyin → candidates → commit
- Type the pinyin.
zhongwen, no tones, no spaces. - Candidates appear. 中文 is first, with numbered alternatives behind it.
- Choose. Space takes candidate 1; a number key takes that candidate; arrows or Page Down go further down the list.
- Commit. The character lands in your document.
You do not type tone marks. Standard pinyin IMEs ignore them entirely — you type ma and the candidate list gives you 吗 妈 马 骂 in frequency order, and you pick. Tone marks (mā má mǎ mà) are for teaching materials, not for input. If you need to write them for a language lesson, that’s a different job — see accents on a US keyboard.
The IME learns. Characters you choose often float to the top, so the list you see in month three is much better than the one you see on day one.
Windows
Add the IME:
- Settings → Time & language → Language & region → Add a language → Chinese (Simplified, China) → Install.
- Under Language options, confirm Microsoft Pinyin is listed.
- Switch to it with Windows key + Space. The tray shows 拼, plus 中 (Chinese input) or 英 (English input).
The shortcuts that matter:
| Keys | Does |
|---|---|
| Shift | Toggle 中 ↔ 英 — Chinese and English within the IME |
| Windows + Space | Switch language entirely |
| Space | Take the highlighted candidate |
| Number keys | Take that numbered candidate |
| Ctrl + . | Toggle Chinese ↔ English punctuation |
| Shift + Space | Toggle full-width ↔ half-width characters |
Ctrl + . is the one nobody tells you about, and it solves the most common complaint: your commas and full stops coming out as ,and 。 in the middle of English text, or as , and . in the middle of Chinese. That’s a mode, not a bug, and that’s the switch.
The pinyin IME can also output Traditional characters — right-click the IME icon and use the toolbar or the Simplified/Traditional switch, so you can type both sets without adding a second keyboard.
One quirk worth knowing: Shift toggles Chinese/English mode on a short press, which means you’ll flip modes by accident while reaching for capitals. If it drives you mad, the mode-switch keys are remappable under the IME’s key configuration.
Mac
Add it under System Settings → Keyboard → Text Input → Edit → + → Chinese, Simplified → Pinyin – Simplified (or Chinese, Traditional → Pinyin – Traditional). Switch with Control + Space or the 🌐 globe key.
macOS’s pinyin engine has four input styles, and knowing they exist is most of the value:
- Full pinyin (全拼). Type it out:
ping→ 苹. - Abbreviated pinyin (简拼). Type only the first letter of each syllable:
pggsgives 苹果公司 (Apple Inc.),jsjgives 计算机. This is dramatically faster for phrases you type often, and it’s built in — no setting to enable. - Structural pinyin (拆字). Type the readings of a character’s components, then Shift + Space. Typing
jijioffers 喆 — two 吉 stacked. Useful for rare characters you can see but can’t pronounce. - English words. Type
ipadand select it from the candidate window; proper nouns capitalise themselves.

Three pinyin tricks worth learning today
vtypes ü. There’s no ü key, so the IME substitutes v:lv→ 绿,nv→ 女. This applies on Windows and Mac alike.- The apostrophe splits ambiguous syllables.
xiancould be 先 or 西安. Typexi'anto force the two-syllable reading. Any time a candidate list looks wrong, an apostrophe is usually the fix. - Type the whole phrase, not one character at a time.
wodemingzigives 我的名字 in one shot. IMEs are far better at phrases than at isolated syllables, because context resolves the homophones.
iPhone and Android
iPhone: Settings → General → Keyboard → Keyboards → Add New Keyboard → Chinese, Simplified (or Traditional), then pick an input type:
- Pinyin – QWERTY — what most people want.
- Pinyin – 10 Key — the phone-style keypad.
- Handwriting — draw the character with your finger. This is the killer feature for learners: if you can see a character but don’t know its reading, you can still type it.
- Stroke (笔画) — enter by stroke order.
Android (Gboard): Settings → Languages → Add keyboard → Chinese, then choose Pinyin, Handwriting, or the Traditional options including Zhuyin and Cangjie.
On both, candidates appear in a strip above the keyboard — tap rather than pressing Space.
Chromebook
Settings → Advanced → Languages and inputs → Inputs → Add input methods → Chinese, then pick Pinyin (Simplified), Zhuyin, or Cangjie. Switch with Ctrl + Shift + Space. The engine is Google’s, so phrase prediction is strong out of the box.
Linux
Like Japanese, Linux needs an engine installed — nothing ships by default:
- Install an input framework plus a Chinese engine:
ibus-libpinyin(Ubuntu/GNOME) orfcitx5-chinese-addons(KDE and most other setups). Rime is the power-user option — highly configurable, steeper setup. - Log out and back in. The framework registers at session start; skipping this is why “I installed it and nothing happened” is the usual first result.
- Add Chinese (Intelligent Pinyin) under Settings → Keyboard → Input Sources.
- Switch with Super + Space; toggle Chinese/English inside the engine with Shift.
The IME is also a symbol picker
Like the Japanese IME, the Chinese one contains more than words. Type the pinyin for a symbol’s name and it appears in the candidates:
dun→ 、 ·judian→ 。sheshidu→ ℃renminbi→ ¥ (see the yen and yuan sign — the same glyph serves both)duihao→ ✓ ·chahao→ ✗jiantou→ → ← ↑ ↓xingxing→ ★ ☆
Microsoft Pinyin also has a dedicated Emoji & symbol panel on the IME toolbar, which is often quicker than anything Windows offers natively.
Chinese punctuation
Chinese punctuation is full-width — each mark occupies a full character square, and spacing after it is built into the glyph, so you never add a space after 。 Using ASCII , . ? in Chinese text reads as visibly foreign.
| Mark | Name | Use | Unicode | HTML |
|---|---|---|---|---|
| 。 | 句号 | Full stop | U+3002 | 。 |
| , | 逗号 | Comma | U+FF0C | , |
| 、 | 顿号 | Lists items — not interchangeable with , | U+3001 | 、 |
| ? | 问号 | Question mark | U+FF1F | ? |
| ! | 叹号 | Exclamation mark | U+FF01 | ! |
| :; | 冒号・分号 | Colon, semicolon | U+FF1A / U+FF1B | : / ; |
| ” “ | 引号 | Quotes (Simplified) | U+201C / U+201D | “ / ” |
| 「 」 | 引號 | Quotes (Traditional) | U+300C / U+300D | 「 / 」 |
| 《 》 | 书名号 | Titles of books, films, articles | U+300A / U+300B | 《 / 》 |
| —— | 破折号 | Dash — doubled, two em dashes | U+2014 ×2 | —— |
| …… | 省略号 | Ellipsis — doubled, six dots total | U+2026 ×2 | …… |
| · | 间隔号 | Separates parts of foreign names | U+00B7 | · |
| ( ) | 括号 | Parentheses | U+FF08 / U+FF09 | ( / ) |
Two rules English speakers get wrong: 、is not a comma. It separates items in a list (苹果、香蕉、橙子) while ,separates clauses. And the dash and ellipsis are doubled — a single — or … looks truncated to a Chinese reader. More on the mark itself: the em dash.
Chinese in HTML and CSS
UTF-8 covers everything. The tag that actually matters is the language one:
html
<html lang="zh-Hans"> <!-- Simplified -->
<html lang="zh-Hant"> <!-- Traditional -->
<p lang="zh-Hans">中文写作,很简单。</p>
Use zh-Hans or zh-Hant, not bare zh. Chinese, Japanese and Korean share code points for many characters — Han unification — so without a script tag the browser may render your Chinese with a Japanese font. The glyphs differ enough that native readers notice immediately, and it’s the single most common CJK web mistake. Related: symbols showing as boxes.
For layout:
css
p { line-break: strict; text-spacing-trim: trim-start; }
Chinese wraps between almost any two characters, so you rarely need word-break. line-break: strict keeps closing punctuation from starting a line, which is what Chinese typesetting expects.
Troubleshooting
| Problem | Fix |
|---|---|
| My commas come out as ,in English text | Punctuation mode. Press Ctrl + . to toggle Chinese ↔ English punctuation |
| The IME keeps flipping to English mid-sentence | Shift toggles 中/英 on a short press. Remap it in the IME’s key configuration |
| I can’t get ü | Type v — lv gives 绿, nv gives 女 |
| Wrong candidates for a two-syllable word | Add an apostrophe: xi'an rather than xian |
| Letters come out spaced strangely | Full-width mode. Press Shift + Space |
| I need Traditional but only have pinyin | Use the Simplified/Traditional switch in the Windows pinyin IME, or add Pinyin – Traditional on a Mac |
| I know the character but not its pronunciation | Handwriting input on a phone, or structural pinyin (Shift + Space) on a Mac |
| Nothing happened after installing on Linux | Log out and back in — the framework registers at session start |
| Chinese text looks subtly wrong on my site | Missing lang="zh-Hans" / zh-Hant, so the browser chose a Japanese font |
Which method should you use?
| If you… | Do this |
|---|---|
| Need one punctuation mark right now | Copy it from the grid above |
| Are learning Mandarin | Simplified + pinyin, and type whole phrases |
| Write for Taiwan or Hong Kong | Traditional — pinyin still works to produce it |
| Type Chinese often on a Mac | Learn abbreviated pinyin (jsj → 计算机) |
| Can see a character but not read it | Handwriting on a phone |
| Are on Linux | Install ibus-libpinyin or fcitx5, then log out and back in |
| Keep getting the wrong punctuation | Ctrl + . — commit it to memory |
Writing other languages too? See how to type in Japanese and Russian, or the foreign-language typing hub for every guide.
Frequently asked questions
Do I need a Chinese keyboard to type Chinese characters?
No. Chinese is typed on an ordinary QWERTY keyboard using an input method that converts romanised pinyin into characters. Even in mainland China, keyboards are standard QWERTY — the conversion happens in software, not hardware.
Do I have to type tone marks?
No. Standard pinyin input methods ignore tones completely. You type the syllable without any mark — ma — and choose the character you want from the candidate list. Tone marks are for teaching materials and dictionaries, not for input.
How do I type ü in pinyin?
Type the letter v instead. There’s no ü on a QWERTY keyboard, so pinyin input methods substitute v for it: lv produces 绿 and nv produces 女. This works on Windows and Mac.
How do I switch between Chinese and English punctuation?
On Windows, press Ctrl + . while the pinyin IME is active. This toggles between full-width Chinese marks (,。?) and ASCII ones (, . ?). It’s a mode, which is why your punctuation sometimes seems to change on its own.
Can I type Traditional characters with pinyin?
Yes. On a Mac, add the Pinyin – Traditional input source. On Windows, the Microsoft Pinyin IME can switch its output between Simplified and Traditional characters. You don’t need to learn zhuyin or Cangjie to produce Traditional text.
How do I type a character when I don’t know how to pronounce it?
Use handwriting input on a phone — draw the character and select it. On a Mac, structural pinyin lets you type the readings of a character’s components and press Shift + Space. Both let you enter a character you can recognise but not read.
Written by Igor R. Tested on Windows 11, macOS, iOS, Android, ChromeOS and Linux. Last updated August 2026. Character code points follow the Unicode Standard.