How to Type in Hindi (हिन्दी) on Any Device

Igor R.

August 13, 2026

Short answer: The easiest route is a phonetic keyboard — type namaste in Roman letters and get नमस्ते. Windows has the Hindi Phonetic IME, macOS has Devanagari – QWERTY, and every phone offers transliteration. If you type Hindi professionally, learn InScript instead.

Hindi sits between the two kinds of language on this site. Like Russian, it can be a straight layout swap. Like Chinese, it can be a transliteration IME where you type Roman letters and get script back. Which you choose matters more than any individual shortcut, so that’s the first section. If you write in several languages, start at the foreign-language typing hub.

Devanagari marks & punctuation Tap any key to copy

Need marks outside the Devanagari set? The full copy-and-paste symbol keyboard has every currency sign, bracket and punctuation mark on one page.

How Devanagari actually works

Five minutes here saves you a lot of confusion later. Devanagari is an abugida, not an alphabet — a middle ground between letters and syllables.

Every consonant carries a built-in “a”. क is not “k”, it’s ka. That’s why typing what looks like one letter gives you a syllable.

Vowels attach as matras. To change the vowel, you add a mark to the consonant: क + ि = कि (ki), क + ी = की (kee), क + ु = कु (ku). Note that ि appears before the consonant but is typed after it — you always type the consonant first. Standalone vowels (अ आ इ) are separate characters, used only at the start of a word.

The virama kills the vowel and builds conjuncts. To get bare “k” with no vowel, add the virama ् : क् . Put another consonant after it and they fuse into a conjunct: क + ् + ष = क्ष. This is why letters seem to merge on their own — they’re supposed to.

That’s the whole system. Consonant, optional matra, virama to join.

How the virama joins Devanagari consonants into a conjunct

Choose your layout first

PhoneticInScriptTraditional (Remington)
HowType namaste → नमस्तेDevanagari mapped to keys, vowels left, consonants rightBased on the Hindi typewriter
LearningMinutesDays to weeksWeeks
Speed ceilingModerateHighHigh
Transfers to other machinesNeeds installingStandard across all of India, and shared with other Indic scriptsCommon in Indian offices
Best forLearners, occasional writers, anyone bilingualAnyone typing Hindi seriouslyProfessional typists, existing muscle memory

Start phonetic. Move to InScript if Hindi becomes a daily language for you — it’s the government standard, it’s consistent across Devanagari, Bengali, Tamil and the rest, and its logic is genuinely good: vowels on the left hand, consonants on the right, Shift for the aspirated pair (क → ख).

Windows

Hindi installs with Hindi Traditional by default, which is the least intuitive of the three. Add the one you want:

  1. Settings → Time & language → Language & region → Add a languageHindi → Install. (You don’t need to change your Windows display language.)
  2. Click the next to Hindi → Language optionsAdd a keyboard, then pick:
    • Hindi Phonetic — the transliteration IME
    • Hindi (India) – Devanagari – INSCRIPT — the standard layout
  3. Switch with Windows key + Space. The tray shows हिं when Hindi Phonetic is active.

Using the Hindi Phonetic IME: type the transliteration of the word and candidates appear as you go — pick one, or keep typing and it resolves. It handles the matras and conjuncts for you, which is precisely the part beginners struggle with.

Windows renders Devanagari in Mangal by default; Aparajita and Kokila are also pre-installed if you want something less utilitarian.

Mac

System Settings → Keyboard → Text Input → Edit → +Hindi, then choose:

  • Devanagari – QWERTY — phonetic. त is on the t key, म on m, and so on.
  • Devanagari — the standard non-phonetic layout, closer to InScript.

Switch with Control + Space or the 🌐 globe key. Turn on Show Input menu in menu bar, then use Keyboard Viewer from that menu — with Devanagari active it shows you exactly where every letter and matra sits, including what appears on Shift and Option. That’s the fastest way to learn either layout.

macOS ships Devanagari MT and Devanagari Sangam MN. Devanagari MT doesn’t appear in every app’s font menu, which is a known quirk rather than a missing font.

iPhone and Android

Phones are the easiest place to type Hindi, because transliteration is built in.

iPhone: Settings → General → Keyboard → Keyboards → Add New Keyboard → Hindi, then pick Devanagari (the script keyboard) or Transliteration (type namaste, get नमस्ते). Add both — the transliteration keyboard for speed, the Devanagari one for when you need an exact spelling.

Android (Gboard): Settings → Languages → Add keyboard → Hindi, then choose the Devanagari layout or Hindi (Transliteration). Gboard’s Hindi prediction and glide typing are both strong, and it will suggest Devanagari while you type Roman letters.

On both, long-press a consonant to reach its matras and related forms.

Chromebook

Settings → Advanced → Languages and inputs → Inputs → Add input methods, then pick from several Hindi options — Hindi phonetic, Hindi (INSCRIPT) and Hindi transliteration are all available. Switch with Ctrl + Shift + Space.

Linux

Devanagari layouts ship with the system; a transliteration engine doesn’t.

  • Layout (no install): Settings → Keyboard → Input Sources → +Hindi, then pick the variant (deva is InScript, bolnagri is a well-designed phonetic layout). Switch with Super + Space.
  • Transliteration: install ibus-m17n or fcitx5-m17n, which provides hi-itrans and similar phonetic engines, then log out and back in before it appears.

Matras and marks you’ll need

MarkNameWhat it doesUnicode
ा ि ी ु ू े ै ो ौmatrasVowel signs attached to a consonantU+093E–U+094C
virama / halantRemoves the inherent a; joins consonantsU+094D
anusvaraNasalises — हिंदीU+0902
chandrabinduNasalised vowel — हाँU+0901
visargaBreathy h, mostly SanskritU+0903
nuktaModifies a letter for loan sounds — क़ ज़ फ़U+093C
omU+0950

The three nasal marks are the most-confused part of Hindi typing: sits on a consonant, sits on a vowel sound, and they are not interchangeable.

Conjuncts, and how to control them

By default, a virama between two consonants produces a fused conjunct: क् + ष = क्ष. Sometimes you want the opposite — the letters visibly separate with the virama showing, which is standard in dictionaries and teaching material.

That’s what the joiner characters do:

  • ZWNJ (U+200C) — zero-width non-joiner. Placed after the virama, it stops the conjunct forming, leaving क्‌ष.
  • ZWJ (U+200D) — zero-width joiner. Forces the half-form where the font would otherwise use a full conjunct.

Both are invisible, which makes them easy to lose track of — see invisible characters. Most writing never needs them, but if you’re producing grammar material or transliteration tables, they’re the tool.

Hindi punctuation and numerals

MarkNameUseUnicodeHTML
dandaFull stop — not a periodU+0964।
double dandaVerse and section endingsU+0965॥
rupee signCurrency — see the rupee symbol guideU+20B9₹
०१२३४५६७८९Devanagari digitsTraditional numeralsU+0966–U+096F०

The danda (।) is the Hindi full stop. Modern writing increasingly uses a period instead, especially online, but the danda is correct in formal and literary Hindi — and a | pipe character is not a substitute, even though it looks similar.

Devanagari digits appear in literary and traditional contexts; Western digits dominate everyday use, including money and dates.

Hindi in HTML and CSS

UTF-8 handles Devanagari, but two things matter:

html

<html lang="hi">
<p lang="hi">नमस्ते दुनिया।</p>

Set lang="hi" so browsers and screen readers select a Devanagari font and the right voice. Without it, rendering falls back unpredictably — see symbols showing as boxes.

The bigger issue is line-height. Devanagari has tall matras above the headline (शिरोरेखा) and marks below it, so text set at a Latin-appropriate line-height: 1.4 will visibly clip or collide. Give it room:

css

:lang(hi) { line-height: 1.8; font-size: 1.05em; }

Devanagari also renders slightly smaller than Latin at the same point size, which is why the modest size bump is worth adding. And never assume one character equals one visual unit: क्ष is three code points rendering as one cluster, so JavaScript that slices strings by index will cut conjuncts in half. Use grapheme-aware methods — background in what Unicode is.

Troubleshooting

ProblemFix
My letters merged into one shapeThat’s a conjunct, and it’s correct. A virama between consonants fuses them
The vowel sign appears on the wrong sideि displays before the consonant but is typed after it. This is normal
I get कि when I wanted क्You typed a matra instead of the virama. Virama is a separate key
Matras get cut off at the topLine-height too tight. Set line-height: 1.8 for Devanagari
I can’t type ज़ or फ़Those need the nukta (़) after the base letter
Text shows as boxesThe font lacks Devanagari. Use Mangal or Aparajita on Windows, Devanagari Sangam MN on macOS
The phonetic keyboard gives the wrong wordKeep typing — candidates refine with more letters. Or switch to the script keyboard for exact spelling
Nothing happened after installing m17n on LinuxLog out and back in — the input framework registers at session start
I used `` as a full stop

Which method should you use?

If you…Do this
Need one mark right nowCopy it from the grid above
Are learning HindiHindi Phonetic (Windows) or Devanagari – QWERTY (Mac)
Type Hindi dailyLearn InScript — the standard, and it transfers to other Indic scripts
Already type on a Hindi typewriterHindi Traditional matches your muscle memory
Type on a phoneTransliteration keyboard, with the Devanagari one added for exact spellings
Are building a Hindi websitelang="hi", generous line-height, grapheme-aware string handling
Write teaching materialLearn ZWNJ — it’s how you show a virama without the conjunct

Writing other languages too? See how to type in Russian and Arabic, or the foreign-language typing hub for every guide.

Frequently asked questions

What’s the easiest way to type Hindi?

A phonetic keyboard. On Windows, add the Hindi Phonetic IME and type namaste to get नमस्ते. On a Mac, use Devanagari – QWERTY. On a phone, add the Hindi transliteration keyboard. All of them let you type Roman letters and produce Devanagari, with no new layout to learn.

What is the difference between InScript and phonetic typing?

Phonetic input converts Roman letters into Devanagari, so you type what the word sounds like. InScript is a keyboard layout where each key produces a specific Devanagari character — vowels on the left hand, consonants on the right. Phonetic is faster to start; InScript is faster once learned and is the standard across Indian languages.

Why do my Hindi letters join together?

Because they’re meant to. When a virama (्) sits between two consonants, Devanagari fuses them into a conjunct — क + ् + ष becomes क्ष. If you need them separated, insert a zero-width non-joiner (U+200C) after the virama.

How do I type matras (vowel signs)?

Type the consonant first, then the matra. The vowel sign attaches to the consonant automatically. Note that the “i” matra ि displays to the left of the consonant even though you type it afterwards — that’s correct behaviour, not an error.

How do I type the Hindi full stop?

Use the danda (U+0964). It’s on the Hindi keyboard layouts and can be copied from this page. Don’t substitute a pipe character | — it looks similar but is a different character entirely. Modern informal Hindi often uses a period instead.

Do I need a special font for Hindi?

Usually not. Windows includes Mangal, Aparajita and Kokila; macOS includes Devanagari Sangam MN and Devanagari MT; phones include Devanagari fonts as standard. If Hindi text shows as boxes, the font in use lacks Devanagari coverage — switching fonts fixes it.

Written by Igor R. Tested on Windows 11, macOS, iOS, Android, ChromeOS and Linux. Last updated August 2026. Character code points follow the Unicode Standard.

Leave a Comment