What ̀ means
Use U+0300 for Vietnamese grave tones. Although U+0340's name says “tone mark,” Unicode recommends the ordinary combining grave accent U+0300 for Vietnamese. It also discourages U+0341, the equivalent alternate of the ordinary acute accent.
A Vietnamese vowel can carry both a circumflex, the hat-shaped accent, and a tone mark. The Unicode 4.0 chart described U+0340 as a way to shift a grave beside a circumflex; as of 2026, Unicode's Vietnamese guidance uses ordinary combining marks, with font shaping arranging stacked marks. Check shaping and font support before switching code points.
Why does U+0340 turn into U+0300?
Normalization can rewrite U+0340 as U+0300. Unicode defines U+0340 as a canonical equivalent of U+0300: a standard text-cleanup process may store the ordinary code point instead, while preserving the same abstract grave mark.
Software that compares raw character sequences can treat the two code points as different. Normalize text before matching or indexing it; if exact code-point identity matters, retain the original sequence.
Where did this mark come from?
Vietnamese grave-tone notation is documented in missionary work in the 17th century. Chữ Quốc ngữ, the Latin-script writing system for Vietnamese, developed through work to record the language's sounds for transcription, translation, and Christian evangelization. Alexandre de Rhodes's 1651 dictionary records the developing spelling system.
The writing system later became a standard way to write Vietnamese. Unicode's name preserves the Vietnamese tone-mark label, but U+0340 is an alternate encoding of the ordinary combining grave accent U+0300, not a separate tone mark needed for Vietnamese.
A specialist, code-facing mark; it signals a text-processing choice.
Its tone-mark name does not make U+0340 the recommended Vietnamese spelling.
Don't confuse it with
1Questions people ask
1Will U+0340 look different from U+0300?
They can. SIL's Latin, Cyrillic, and Greek fonts in v5 omitted U+0340 by design, so another font may show U+0300 while this code point is missing. The two marks remain canonically equivalent.
How to type ̀
̀\0340Codes and encoding1 code points
A visible symbol can contain several code points. JS .length counts UTF-16 units; UTF-8 counts bytes.
