Devanagari is, for the most part, completely phonetical. There are 33 consonants and 10 vowels, plus two special characters. The alphabet is ordered logically, beginning with vowels (short before long, monophthongs before diphthongs). Then come anusvara and visarga; the former nasalises the preceding vowel, and the second aspirates a vowel (ah., for example, is pronounced somewhat like `aha'). Finally come the consonants, arranged into three groups: stops, classified into five groups arranged according to place of articulation (velar, palatal, cerebral/retroflex, dental, and labio-dental), with each group containing five members (unvoiced, aspirated unvoiced, voiced, aspirated voiced, nasal); four semivowels (ya, ra, la, and va, corresponding to the vowels i, r., l., and u, respectively); and four aspirants: palatal s'a, cerebral s.a, dental sa, and guttural ha.

a aa i ii u uu r. r.r l. e o ai au
m. h.
ka kha ga gha nga
ca cha ja jha nya
t.a t.ha d.a d.ha n.a
ta tha da dha na
pa pha ba bha ma
ya ra la va
s'a s.a sa ha

The vowel symbols in the alphabet are used only for word-initial vowels. Elsewhere, they are represented by a system of combining marks which follow, precede, or hang above or below the consonant in question. If a consonant has no vowel marked, -a is assumed; there is a mark known as virama which indicates a word-final consonant.

There are also other characters not used in Classical Sanskrit which appear in some devanagari variants. Urdu devanagari has `dotted forms' of many characters, which indicate sounds borrowed from non-Indic languages such as Dravidian and Persian. When devanagari is used to write particularly old Vedas (written in Vedic, a somewhat formalized version of the living language which later became the literary language Sanskrit), there is a long form of the vowel l.

Devanagari makes extensive use of ligatures. Whenever consonants occur without an intervening vowel, they are written with a ligature. Forms of ligature include: vertical (the first consonant appearing above the second), horizontal (with the main vertical stroke on all but the last consonant omitted), and special (where the combined form does not resemble the separate consonants; the two most common examples are ks.a and jnya, which are learned by children as separate letters). In addition, r is represented specially in combination with other consonants: r before a consonant cluster is indicated by a mark above the cluster (to the right of any vowel marker), while r after a cluster is indicated by a diagonal tick in the lower left. The presence of these ligatures makes computerization of the devanagari script nontrivial but not impossible; in particular, the free software package ITRANS handles most devanagari ligatures rather well.

Devanagari is assigned the Unicode range U+0900 through U+097f. This range includes the basic alphabet, as well as special characters such as OM, numerals, Urdu characters, vowel markers, anunasika, avagraha, stress accent marks, and punctuation.