RTL Writing: Scripts That Read Right to Left
To a reader raised on left-to-right text, right-to-left writing can feel counterintuitive — but for the hundreds of millions of people who write Arabic, Hebrew, Persian, or Urdu, it is as natural as breathing. Right-to-left (RTL) scripts are not mirror-image curiosities; they are full, sophisticated writing systems with their own typographic conventions, aesthetic traditions, and technical requirements.
Which Scripts Are RTL?
The major RTL scripts in active use are Arabic (and its derivatives — Persian, Urdu, Pashto, Sindhi, and others), Hebrew, Syriac, and Thaana (for the Maldivian language Dhivehi). Historically, many other scripts were RTL or boustrophedon (alternating direction) — including the earliest Greek inscriptions and ancient South Arabian scripts.
Bidirectional Text
In multilingual contexts — a Hebrew email with English product names, an Arabic website with Latin brand names — the same line of text may contain both RTL and LTR characters. This "bidirectional" (bidi) challenge is handled by Unicode's Bidirectional Algorithm, which specifies rules for automatically reordering mixed-direction text. However, the algorithm has complex edge cases, and web developers working with RTL languages learn quickly that CSS property direction: rtl does not solve all problems.
Typography and Aesthetics
RTL writing has produced its own typographic traditions of extraordinary richness. Arabic calligraphy is arguably the most developed lettering art form in human history. The requirement that letters connect and change shape depending on their position in a word gives Arabic typography a fluidity that Latin script lacks. Hebrew typography, while less calligraphically elaborate, has its own aesthetic tradition in religious manuscript illumination.
Even mundane elements — page layout, book binding, reading order — are mirrored in RTL cultures. An Arabic book opens from what a Latin reader would call "the back." Numbered lists count from right to left. UI interfaces must be designed with RTL layouts in mind.
Explore all RTL scripts in the scripts index or compare an RTL script like Arabic versus Latin to see the structural differences directly.