Yes. Markdown is plain text, and plain text has been fully multilingual since Unicode. Chinese, Japanese and Korean characters work in every construct without exception: headings, lists, tables, quotes, link text, image alt text, code blocks and footnotes. This site is the proof. Every guide on it exists in Traditional Chinese, and all of it is written in Markdown.

There is exactly one thing to watch, and it catches almost everybody once. It is punctuation width. The syntax characters must be half-width ASCII, even when the sentence around them is full of full-width Chinese punctuation. Get that right and nothing else needs special handling.

At a glance

CJK in headingsWorks. # 前言 is a normal heading, with a half-width space after the hash
CJK in link textWorks. Only the brackets and parentheses around it must be ASCII
Full-width punctuation caveat()[]| break link, image and table syntax. Prose punctuation is safe
Word count methodEach CJK character counts as one word; Latin words are split on spaces
Font renderingDecided by the reader's device and CSS, never stored in the .md file

CJK works in every construct

In short
  • CJK text works in every Markdown element, and there is no setting to switch on.
  • Syntax characters such as [ ] ( ) | # must be half-width ASCII.
  • Prose punctuation like 。,「」 stays full-width and never breaks anything.
  • If bold refuses to render between two Chinese characters, use <strong> instead.

Every construct accepts Chinese

There is no special mode to enable and no encoding to change. # 前言 is a heading. **重點** is bold. - 第一項 is a list item. A table cell holds | 台北 | 2,600,000 | as happily as it holds English, and code blocks keep CJK comments byte for byte. Here is a document that uses most of the syntax at once:

# 專案說明

## 安裝步驟
1. 下載安裝檔
2. 執行 `setup.exe`
3. 重新啟動電腦

| 城市 | 人口 | 面積(平方公里) |
| --- | ---: | ---: |
| 台北 | 2,600,000 | 271.8 |
| 台中 | 2,800,000 | 2,214.9 |

詳見[官方文件](https://example.com/docs),或參考附錄 A。

Half-width syntax, full-width prose

Look at what is half-width and what is not. The #, the 1., the backticks, the pipes, the dashes in the alignment row, the colons that right-align the numbers, and both pairs of brackets in the link are all ASCII. Everything inside them is Chinese. That includes the full-width parentheses in the header cell 面積(平方公里), which are prose and never touched by the parser.

The one trap: full-width punctuation

An input method left in Chinese mode produces punctuation that looks almost the same but parses as ordinary text. Neither line below works:

#前言
[說明文件](https://example.com)

Both work once the syntax characters are half-width. Nothing else changed:

# 前言
[說明文件](https://example.com)

Watch out: At normal text size the two versions look nearly identical. When a link, image or table refuses to render, check the width of the punctuation before you check anything else.

One more detail is worth knowing. Emphasis markers such as ** sometimes fail when they are wedged between CJK characters with no word boundary, because the parser cannot tell where a word ends. When bold refuses to appear mid-sentence, <strong>重點</strong> always works. Every example in the complete guide holds if you swap the English for Chinese.

Illustration of a Markdown document mixing Chinese characters with half-width ASCII syntax symbols, showing the two character widths side by side

Which characters must be half-width

The dividing line is simple once it is laid out. Anything the parser reads as an instruction must be ASCII. Anything it treats as text can use whatever punctuation your language uses.

CharacterRole in MarkdownWidth requiredWhat happens if it is full-width
#Heading levelHalf-width only#前言 stays a plain paragraph
[ ]Link and image labelHalf-width only[連結] shows the brackets as literal text
( )Link and image targetHalf-width onlyThe raw URL prints instead of becoming a link
!Image prefixHalf-width onlyThe image is not embedded, only linked at best
|Table column dividerHalf-width onlyThe whole row renders as one line of text
- * +List bullet, horizontal ruleHalf-width onlyThe line stays an ordinary paragraph
`Code span and fenceHalf-width onlyCode is not monospaced and may be reformatted
>BlockquoteHalf-width onlyNo quotation block appears
Space after a markerSeparates marker from textASCII space, not U+3000A full-width space can stop the heading or list forming
。,、;:!?Prose punctuationFull-width is correctNothing. The parser never looks at these
「」『』Quotation in proseFull-width is correctNothing
()in running textProse parenthesesFull-width is correct and preferredNothing, as long as they are not wrapping a URL

Tip: Switch your input method to English mode for the second it takes to type a link or a table row, then switch back. Toolbar buttons remove the problem completely, because they insert ASCII whatever mode you are in.

Broken input and the fix

Four failures account for nearly every report that Markdown "does not work in Chinese". Each one below shows the broken input first, then the correction.

1. Full-width brackets in a link

Broken:  [連結文字](https://example.com)
Fixed:   [連結文字](https://example.com)

The text between the brackets can be any Chinese you like. Only the four enclosing characters have to change. Images follow the same rule, and there the leading ! must be half-width too.

2. Full-width pipes in a table

Broken:  | 城市 | 人口 |
Fixed:   | 城市 | 人口 |

The alignment row underneath needs half-width hyphens as well: | --- | --- |. Tables are the construct that breaks most often here, and the tables guide has the full syntax.

3. A full-width space after the marker

This one is invisible, which makes it maddening. A # followed by U+3000 instead of a normal space may not produce a heading at all. When a heading refuses to form and the hash itself looks correct, delete the space and retype it.

4. Bold glued between characters

這是**重點**內容 sometimes prints the asterisks as literal text, because there is no word boundary for the parser to latch onto. Two fixes work. Put a space or a punctuation mark next to the markers, or use <strong>重點</strong>, which never fails.

The way to diagnose all four is the same. Paste the text into the editor and watch the preview. Anything that fails to render shows up in the same second.

Word counts and CJK

Why splitting on spaces fails

Counting words by splitting on spaces, the way English tools do, breaks down completely for Chinese. A 500-character paragraph has no spaces in it at all, so it gets reported as one word. The counter in the editor handles this properly:

  • CJK text is counted per character, which matches how Chinese writing is measured in practice.
  • Latin words in the same document are still counted as space-separated words.
  • The two figures combine, so a mixed-language document gets a total that means something.

Why the number matters

This matters more than it sounds. Publication limits, assignment lengths and client briefs in Chinese are all set in characters. A tool that reports one word for a full page is not merely inaccurate, it is unusable. As a rough working ratio, a 1,000-word English article usually lands near 1,500 to 2,000 Chinese characters.

Mixing Chinese and English cleanly

Three conventions that keep it tidy

Bilingual documents are where Markdown quietly shines, because the format never interferes with either language. Three habits keep the result clean:

  • Space out embedded Latin text. Write 「使用 VS Code 編輯」 with a space on each side of the English. Most Taiwanese style guides ask for it, and the gain in readability is immediate.
  • Wrap code, URLs, file names and version numbers in code spans. `config.json` then stays visually distinct in either language.
  • Pick one punctuation system per sentence. Full-width inside Chinese sentences, half-width inside English ones, so commas and quotes do not clash mid-line.

Laying out side-by-side translations

When both languages have to appear at once, a two-column table beats alternating paragraphs. It keeps the pairs lined up as the document grows. If you publish the two languages as separate pages instead, keep the heading structure identical. Translation review gets much easier, and anchor links stay consistent across both versions, which is exactly how the bilingual pages on this site are built.

Related questions

Try the Editor

Open Editor