Which Languages Are Read Top-to-Bottom Instead of Left-to-Right
9 min read · updated August 11, 2026
The list of vertically written scripts is short, but it splits in a way that matters: one script is vertical by nature and cannot be written any other way, while several are horizontal by default today and vertical by choice. Conflating the two produces both broken rendering and unnecessary work.
Two different kinds of vertical
The first kind is a script whose letters are designed to connect vertically, so that writing it horizontally means rotating the whole line. Traditional Mongolian is the living example. The second kind is a script whose characters are square and orientation-neutral, so it can be set in either direction with no change to the glyphs: Chinese, Japanese and Korean.
A second axis crosses the first: which way the columns advance. Traditional Mongolian runs top to bottom with columns advancing left to right. Vertical Chinese and Japanese run top to bottom with columns advancing right to left. Two vertical scripts, two opposite page directions — which is why “vertical” is not a single layout mode, and why a renderer that supports one may still get the other backwards.
Mongolian, the only inherently vertical script in daily use
The traditional Mongolian script descends from Old Uyghur and is written in connected vertical columns, with letters taking initial, medial and final forms much as Arabic letters do. Manchu and the Old Uyghur script itself share its structure; Todo and Vagindra are related variants.
Its contemporary status is split by border, and this is the part usually got wrong. In Inner Mongolia, in China, the traditional vertical script is the everyday orthography for Mongolian. In the state of Mongolia, Cyrillic has been the standard script since the 1940s, and the traditional script is taught and used ceremonially rather than as the default. Mongolia has legislated a phased reintroduction of the traditional script for official documents alongside Cyrillic.
For a pipeline, the consequence is that mn alone is not enough information. Mongolian needs a script subtag: mn-Cyrl and mn-Mong are different rendering problems, different keyboard layouts and, for a model, different amounts of training data — Cyrillic Mongolian has substantially more digital text than the traditional script does — a split that shows up directly in what Mongolian costs in tokens, since the two scripts are tokenized on entirely different evidence.
Chinese, Japanese and Korean: optional, and still used
Horizontal, left-to-right setting is the default for all three today: websites, software, textbooks, signage and most newspapers. But vertical setting is not historical. In Japanese it is called tategaki, and it remains the standard for novels, manga, newspaper columns, poetry, and formal correspondence. A Japanese reader encounters both orientations regularly and switches without effort.
Traditional Chinese in Taiwan and Hong Kong uses vertical setting in similar contexts, more often than mainland publishing does. Korean is effectively horizontal today, with vertical setting confined to calligraphy and historical reproduction.
Historically, all three were vertical by default, and horizontal left-to-right setting was adopted through the twentieth century. Before that, horizontal Chinese was sometimes written right to left — which is a genuine trap when reading old signage and photographs, and the reason a short horizontal inscription can be read in two directions with two different meanings.
What the specifications say
Two documents cover this and both are worth knowing exist, because almost every vertical-text bug is a failure to implement one of them.
- Unicode Standard Annex #50, Unicode Vertical Text Layout defines the Vertical_Orientation property: for each character, whether it stays upright in vertical text or is rotated ninety degrees. Ideographs stay upright; Latin letters rotate; some punctuation substitutes a different glyph entirely. This is per-character data, not a per-run setting.
- CSS Writing Modes Level 3, a W3C Recommendation since 2019, defines the
writing-modeproperty with the valuesvertical-rl,vertical-lrand thesideways-variants, plustext-orientationfor the upright-versus-rotated choice. Vertical Mongolian isvertical-lr; vertical Japanese isvertical-rl.
The critical point for anyone building on top of this: vertical layout is entirely a presentation concern. The text is stored in logical order — first character first — exactly as horizontal text is. Nothing about the bytes changes. This is the same principle that governs right-to-left text under the bidirectional algorithm, and it is why a model never sees text “upside-down” or “backwards” regardless of how it is displayed.
What this means for a pipeline
Since storage is unaffected, the failures live in the two places where logical order meets visual order.
Extraction. Reading text out of a PDF or an image of vertical text means recovering logical order from a visual arrangement, and extractors that assume horizontal lines will interleave columns into nonsense — producing text that is character-for-character present and completely unreadable. Vertical Mongolian OCR is a specialised problem for exactly this reason; see OCR for vertical Mongolian script.
Rendering. If you are generating documents for a market that uses vertical setting, you need a layout engine that implements both specifications above. Browsers do. Many PDF libraries, chart renderers and canvas-based image generators do not, and their failure is silent: they will happily lay out vertical text with rotated ideographs and a wrong column direction, and only a reader of the language will notice.
Fonts. A third failure sits between the two. Vertical setting requires glyph substitutions the font must supply: the vertical forms of brackets, the comma and full stop moved to a different position in the em square, and the rotated forms of characters that rotate. A font without the vertical OpenType features will render vertical text with horizontal punctuation hanging in the wrong place, which looks like a layout bug and is a font-selection bug. The traditional Mongolian case is stricter still: the script is cursive, so a font lacking the joining behaviour produces disconnected letters in the wrong contextual forms.
Everything in between — the model call, the embedding, the search index, the database — is unaffected, because all of it operates on logical order. That is the useful conclusion: vertical writing is a rendering requirement with a narrow blast radius, not a property of the language that follows the text through your system.