Hebrew Script

Hebrew is an abjad: its 22 letters are mostly consonants, vowels are optional points added beneath or above them, and text flows right to left. Unlike Arabic, Hebrew letters don't join, each one keeps a fixed, disconnected shape regardless of neighbors. Its real complexity sits elsewhere: five letters carry a distinct final form, and the dagesh, a small dot, changes a letter's sound from inside its outline rather than above or below it.

Fast facts

Hebrew, in one screen

An abjad with no letter joining, five position-dependent final forms, and vowel points that most everyday text leaves out.

ISO 15924
Hebr, roughly 134 characters, script type abjad
Languages
Primary script for Hebrew; also used for Yiddish
Direction
Right to left, letters keep a fixed shape, no cursive joining
Signature complexity
Five final letterforms, plus a dagesh mark drawn inside the glyph rather than around it
1.Letters

Hebrew has 22 base letters, all consonants in origin, though several also serve as vowel indicators in unpointed text. Five of them take a different, elongated shape when they fall at the end of a word, a leftover of how the script was historically written and still a hard rule in every modern Hebrew font.

The 22 letters
אalef
בbet
גgimel
דdalet
הhe
וvav
זzayin
חhet
טtet
יyod
כkaf
לlamed
מmem
נnun
סsamekh
עayin
פpe
צtsadi
קqof
רresh
שshin
תtav
Final forms (5)
ךkaf sofit
םmem sofit
ןnun sofit
ףpe sofit
ץtsadi sofit
Not shown
Niqqud vowel points, shin and sin dots, cantillation marks (te'amim) used in liturgical text, and the Yiddish digraph ligatures built from doubled yod and vav. All are covered in the sections below.
2.What makes Hebrew distinctive: marks inside the letter

Most combining marks in most scripts sit above or below the base letter they modify, a pattern this entire World Scripts track otherwise holds to. Hebrew breaks it with the dagesh: a small dot placed within a letter's own outline, most commonly in bet, kaf, and pe, where it changes a soft consonant sound to a hard one. Positioning a mark inside a glyph's counter space, rather than in the space above or below it, is a genuinely different anchoring problem than the mark placement every other script in this series relies on.

Niqqud, the full vowel-pointing system, sits above and below letters in the more conventional way, but it's optional. Everyday Hebrew, newspapers, novels, most web text, is written entirely without niqqud, and readers infer vowels from context and word shape. Niqqud shows up mainly in poetry, children's books, religious texts, and dictionaries, which means a font can be shipped for general use without ever drawing a single vowel point and still be considered complete for its market.

3.Visual anatomy: where marks attach

Hebrew's mark positions fall into three zones relative to a letter: above, below, and, for the dagesh alone, inside.

Hebrew mark-placement zones The word melekh, meaning king, shown with niqqud vowel points above and below the letters, illustrating the three zones where Hebrew marks attach: above, below, and, for the dagesh, inside the letter. Visual anatomy Above, below, inside Above-letter zone (niqqud, cantillation) מֶלֶךְ Below-letter zone (niqqud, cantillation)

מֶלֶךְ ("melekh", king) shows the pattern: niqqud vowel points sit above and below the consonants, and the word ends in the final form of kaf (ך), its descender dropping below the line the way the upright kaf (כ) never does.

4.Final forms and the dagesh
מלך
Final kaf in context
"melekh" (king), ך appears only word-finally
בּ
Bet with dagesh
Dot inside the letter, hardens the consonant sound
שׁ / שׂ
Shin / sin dot
A single dot above-left or above-right distinguishes the two sounds
5.Yiddish ligatures

Hebrew script also writes Yiddish, which encodes vowels more fully than Hebrew does and defines its own small set of required ligatures built from doubled letters, treated as distinct characters rather than optional stylistic substitutions.

LigatureBuilt fromUse
װvav + vavRepresents the consonant "v"
ױvav + yodRepresents the vowel "oy"
ײyod + yodRepresents the vowel "ey" or "ay"
6.The shaping model for Hebrew

Hebrew needs no positional joining, so its OpenType feature list is built almost entirely around mark placement, the required Yiddish ligatures, and language-specific substitutions.

FeatureTagWhat it builds here
Mark positioningmarkAnchors niqqud, cantillation marks, and the dagesh to their base letters.
Mark-to-markmkmkPositions a second mark relative to one already placed, for combined niqqud and cantillation.
Discretionary ligaturesdligExample: alef-lamed forming a single decorative ligature.
Glyph compositionccmpBuilds required Yiddish ligatures, such as yod-yod plus patah forming a single glyph.
Localized formsloclDistinguishes Hebrew and Yiddish conventions where the same letters are used differently.
7.Rendering pitfalls
SymptomLikely causeFix
A word-final letter shows the wrong shapeFont or app fails to substitute the sofit form at word endConfirm final-form substitution triggers on actual word boundaries, not just isolated glyph review
Dagesh dot collides with the letter's ink or sits off-centerAnchor point not tuned per letter, bet/kaf/pe have different counter shapesSet dagesh anchors individually for each letter that carries one
Niqqud points overlap or drift off their lettersMark attachment untested with real above-and-below combinationsTest full pointed words, not isolated vowel marks
Hebrew and embedded Latin/numbers appear in the wrong orderBidi algorithm not applied, or applied without correct paragraph directionSet explicit paragraph direction and test mixed-direction sentences directly
Yiddish double-yod or double-vav renders as two separate lettersRequired ligature substitution missing or not enabledVerify ccmp is applied for Yiddish-specific ligatures
Practical rule
Test every word-final letter that has a sofit form in an actual word, not in isolation, final-form substitution bugs only show up at real word boundaries.
8.Design and production checklist
  1. 1Draw all 22 base letters and all 5 final forms, and verify substitution triggers at real word boundaries.
  2. 2Tune dagesh anchors per letter rather than using one shared anchor point.
  3. 3Decide whether niqqud support is in scope, general text doesn't need it, but liturgical and educational text does.
  4. 4Build required Yiddish ligatures if Yiddish is a target language.
  5. 5Test bidi behavior with real mixed Hebrew/Latin/numeral sentences.
  6. 6Review with a fluent reader, dagesh and sofit errors are easy to miss without one.
9.Test strings

Copy these into a test document. Each targets a different part of the coverage and shaping surface covered above.

שלוםBasic RTL flow, "shalom"
מלך, אלףFinal kaf and final pe/alef context
מֶלֶךְ יִשְׂרָאֵלFull niqqud pointing
בּ כּ פּDagesh inside the letter
שלום עולם 2026Mixed Hebrew and numerals, bidi check
אַ ייִדישע לידYiddish, tests double-yod ligature