Code Points
Three rows of the Devanagari block, sixteen to a row
The grid Unicode inherited from ISCII is not arbitrary — it encodes a phonological theory, and every sort order and keyboard layout built since has had to live inside it.

A table that teaches phonology
The Unicode Devanagari block runs from U+0900 to U+097F: 128 code points arranged in eight rows of sixteen. The first four rows — U+0900 through U+093F — carry the bulk of the script's working vocabulary: combining marks that encode vowel sounds, the independent vowel letters, and the first consonants of the traditional varṇamālā (sound-garland) ordering inherited from Sanskrit grammar.
That ordering is not arbitrary. Pāṇini's Ashtadhyayi classified Sanskrit phonemes by place and manner of articulation, grouping stops into five varga (classes) of five: velar, palatal, retroflex, dental, labial. Unicode absorbed that sequence directly, which is why the block reads not alphabetically in any European sense but anatomically — from the back of the throat forward. The sixteen-per-row grid fits the five-by-five consonant table with room left for the nasals, semivowels, sibilants and aspirate that follow.

The design is not Unicode's invention. ISCII 1988, the Indian standard C-DAC and the Bureau of Indian Standards produced, had already arranged ten Brahmi-derived scripts on a common phonological skeleton, so that the same code position meant the same sound across Devanagari, Bengali, Tamil and the rest. Unicode's Devanagari block preserved that positional logic while assigning each script its own block range — a negotiation that the conjuncts-and-reordering problem made more complex than the flat table suggests.
What the layout decides
Sorting is the most immediate consequence. Because the block encodes phonological sequence rather than glyph frequency, a naïve byte-order sort of bare consonants and independent vowels approximates dictionary order without a collation table — provided the text is canonically composed. The moment a vowel matra (a dependent vowel sign, sitting in the fourth row) arrives as a combining mark applied to a base consonant, byte order alone no longer gives reading order, and locale-aware collation is necessary.
Input methods feel the grid too. Every phonetic keyboard layout for Devanagari maps keystrokes to code points whose neighbours in the block are phonological relatives, not visual ones. A key that produces ka (क, U+0915) sits one position before kha (ख, U+0916) in the block and therefore on adjacent keys in most standard layouts — the table made a spatial decision that keyboard designers subsequently ratified.
Chronology
- 1988ISCII published, establishing phonological ordering across ten Brahmi scripts
- 1991ISCII 13194 revised and formalised by Bureau of Indian Standards
- 1991Unicode 1.0 released; Devanagari block U+0900–U+097F assigned
- —Unicode preserves ISCII's varṇamālā sequence within the block
Font engineers face the same geometry. A shaping engine traversing the block relies on the positional regularity to identify base consonants, combining marks and halant (virama) sequences. The rows are not decoration; they are the grammar the renderer reads.
Unicode absorbed that sequence directly, which is why the block reads not alphabetically in any European sense but anatomically — from the back of the throat forward.

The block at a glance
- U+0900–U+090Fvarious signs and short independent vowels
- U+0910–U+091Findependent vowels continuing; first consonants (velar class)
- U+0920–U+092Fpalatal and retroflex consonant classes
- U+0930–U+093Fdental and remaining stops; matra row begins