Type Nepali here.
Write with Roman letters and watch them become Unicode Nepali. If a word has more than one reading, choose the one you mean.
One setup, every marked field.
Mark the fields that should type Nepali. The same page-level initializer powers the editor above and the three marked text and search fields here. English notes and the email-only field stay literal.
<input type="text" data-sahajlipi>
<input type="search" data-sahajlipi>
<script type="module">
import { attachNepaliInputs } from "../src/dom.js";
const typing = attachNepaliInputs(document, { enabled: true });
// typing.setEnabled(false) switches every marked field.
</script>
Textareas work too. The unmarked English and email fields above remain unchanged.
How to type
Type the Roman spelling. Nepali appears in the editor as you go. These examples show the keys the prototype currently understands.
Words appear directly
Type a word without opening a candidate list. Press Space to finish it and start the next one.
While a word is active, Backspace removes the last Roman key and updates the Nepali result.
Length changes the word
Consonants start full: k and ka both give क. A vowel changes the sound: ki gives कि. Use aa for long आ, as in का. ii or ee make sounds like की; uu or oo make sounds like कू.
Full consonants, automatic joins
Adjacent consonants join automatically, with the last consonant full: kr and kra give क्र. A vowel after a consonant keeps the syllables separate: kar gives कर. A known word can use its listed spelling.
Type ` for an explicit half consonant: k` or ka` → क्, and kr` → क्र्. Space and punctuation keep that half form. A following vowel starts independently: k`i → क्इ. The / shortcut works the same way.
Use `= or /= to add a joiner after the halant: par`=yo → पर्यो. The font and browser determine the visible shape. Choose Strict half above to keep the earlier phonetic behavior, where k → क् and kr → क्र् until you add a vowel. Changing the setting preserves existing text.
च or छ
Use ch for च and chh for the aspirated छ. Both start full; a backtick makes them half:
| Keys | Default result |
|---|---|
| ch | च |
| cha | च |
| chh | छ |
| chha | छ |
cha offers छ as an alternative in the readings dropdown. Type chha to get छ directly. Listed complete words can keep their own spelling, such as huncha → हुन्छ.
र्य or र्य
Ordinary ry forms र्य, as in kaarya → कार्य, suurya → सूर्य, saundarya → सौन्दर्य, and aachaarya → आचार्य. These complete listed words automatically use र्य:
maryo and maaryo keep their different vowels. Incidental title case works: Garyo → गर्यो. Reserved Shift keys select their sounds: Saryo → षर्यो. These are whole-word entries; adding a suffix does not automatically reuse them.
Listed shortcuts and spellings
The word list accepts these shortcuts and their explicit long-vowel spellings:
Only the listed puryaunu shortcut supplies long आ followed by उ where you typed au. In ordinary phonetic conversion, au still means औ: kau → कौ.
The listed bharyang shortcut fills in long आ and chooses the र्य form. Keep the complete listed spelling bharyaanga to receive that same joiner preference. In Full mode, the explicit form bhar`=yaang also gives भर्याङ without a final a.
Four other complete spellings supply reviewed vowels or nasal marks: halyo → हाल्यो, nabhani → नभनी, gaunle → गाउँले, and dindaina → दिँदैन. These exact entries do not change ordinary vowel, Shift, half-consonant or explicit-mark keys, and they do not infer attached native words.
This repository demo also includes the unreleased native spelling update. Try these complete lowercase keys:
Type bhagna to display भग्न, then choose भाग्न from the readings dropdown or press Alt + 2 while the word is active. Space keeps the displayed choice. These distinct readings need your intended meaning; their order preserves the earlier default.
The native-form batch shipped in alpha.4 also accepts complete keys such as astitwalai → अस्तित्वलाई, karyaharuma → कार्यहरूमा, and pairaheka → पाइरहेका. Type mahila for महिला with माहिला as an alternative, shanta for शान्त with शान्ता, or angrejharuko for अङ्ग्रेजहरूको with अंग्रेजहरूको. Choose the second reading from the dropdown or use Alt + 2. See the complete 34-key guide and source review. These whole keys work in either consonant setting; other native endings are not inferred.
For an unlisted spelling, request र्य with /= and type the vowels yourself. Examples: gar/=yo → गर्यो, pur/=yaaunu → पुर्याउनु, and bhar/=yaanga → भर्याङ.
Shift changes the tongue position
Lowercase t and d give dental sounds. Capital T and D give retroflex sounds. Keep the h lowercase for aspirated pairs.
| Default | With Shift |
|---|---|
| ta त | Ta ट |
| tha थ | Tha ठ |
| da द | Da ड |
| dha ध | Dha ढ |
Type ऋ, ष, and visarga
Capital R gives ऋ on its own or the ृ sign after a consonant. Lowercase ri and kri keep their ordinary sounds.
Capital S or Sh chooses ष; lowercase sh gives श. An optional a keeps the same full sound: Sa or Sha → ष, while sha → श.
Capital H after a vowel adds visarga ः. Lowercase h still types ह, and : stays an English colon.
Known words may keep their listed spelling when capitalized: Ram → राम and Sita → सीता.
Devices and digital words
In Nepali mode, these complete English spellings produce Nepali-script loanwords directly. Type the lowercase keys shown here:
| English key | Nepali spelling |
|---|---|
| camera | क्यामेरा |
| computer | कम्प्युटर |
| mobile | मोबाइल |
| phone | फोन |
| charger | चार्जर |
| printer | प्रिन्टर |
| mouse | माउस |
| internet | इन्टरनेट |
| इमेल | |
| software | सफ्टवेयर |
| scanner | स्क्यानर |
| video | भिडियो |
Everyday words
| English key | Nepali spelling |
|---|---|
| taxi | ट्याक्सी |
| bank | बैंक |
| cheque | चेक |
| file | फाइल |
| school | स्कुल |
| college | कलेज |
| doctor | डाक्टर |
| nurse | नर्स |
These are spellings of borrowed words, not translations of English sentences. school displays स्कुल first and offers स्कूल in the readings dropdown. Other listed stems currently have one reading; additional spellings can still need review.
Company and earlier research
Try company → कम्पनी. The following complete keys now work as source-assisted project preferences:
| English key | Nepali spelling |
|---|---|
| company | कम्पनी |
| bus | बस |
| cricket | क्रिकेट |
| football | फुटबल |
| hotel | होटल |
| keyboard | किबोर्ड |
| laptop | ल्यापटप |
| microphone | माइक्रोफोन |
| office | अफिस |
| password | पासवर्ड |
| restaurant | रेस्टुरेन्ट |
| ticket | टिकट |
| wifi | वाइफाइ |
Transport, home, and technology
| English key | Nepali spelling |
|---|---|
| ambulance | एम्बुलेन्स |
| battery | ब्याट्री |
| car | कार |
| carpet | कार्पेट |
| connector | कनेक्टर |
| courier | कुरियर |
| digital | डिजिटल |
| drone | ड्रोन |
| furniture | फर्निचर |
| inverter | इन्भर्टर |
| motorcycle | मोटरसाइकल |
| radio | रेडियो |
| router | राउटर |
| sofa | सोफा |
| telephone | टेलिफोन |
| van | भ्यान |
| website | वेबसाइट |
The tables list the earlier 50 English keys. The latest stem is media → मिडिया, bringing the list to 51. This source-assisted project list does not cover every borrowed word.
Supported suffixes work on these stems: companyharumathi → कम्पनीहरूमाथि, schoolma → स्कुलमा with स्कूलमा in the dropdown, and mediasanga → मिडियासँग.
| Suffix key | Nepali ending |
|---|---|
| ma | मा |
| ko | को |
| ka | का |
| ki | की |
| le | ले |
| lai | लाई |
| bata | बाट |
| sanga | सँग |
| mathi | माथि |
| haru | हरू |
Append one ending directly to a listed stem. haru may also take one of the other nine endings, as in companyharuko → कम्पनीहरूको. These are 19 finite suffix keys. An incomplete or unsupported suffix, such as cameramaa, uses phonetic conversion. Months, native Nepali words and arbitrary custom stems do not gain this rule.
Use lowercase keys for predictable results. Company and Camera also match, but capitals T, D, S, R, and contextual H select sounds. Doctor, School, and all-capital keys are not guaranteed aliases. Domains such as company.com stay literal, and English mode leaves English text unchanged.
All twelve month names
Type a full English month name while Nepali mode is selected. Lowercase and normal title case both work, including September and December.
| English keys | Nepali spelling |
|---|---|
| january | जनवरी |
| february | फेब्रुअरी |
| march | मार्च |
| april | अप्रिल |
| may | मे |
| june | जुन |
| july | जुलाई |
| august | अगस्ट |
| september | सेप्टेम्बर |
| october | अक्टोबर |
| november | नोभेम्बर |
| december | डिसेम्बर |
Each month has one reading, so no readings dropdown appears. May and may both give मे; use English mode or an English field when you mean the English word “may”.
Use the full names: abbreviations such as jan and attached forms such as januaryma are unlisted. This spells month names and does not convert dates to the Bikram Sambat calendar. Other reserved Shift sounds still work.
Choose the mark explicitly
Type ^ after a syllable for बिन्दु ं, or ~ for चन्द्रबिन्दु ँ. The letters n and m still make consonants.
Number keys type Nepali digits
In Nepali mode, number keys produce ०–९. Decimal points, commas, signs, and date separators keep their punctuation. Numbers inside recognized links and email addresses stay as typed. Pasted numbers follow the same rule.
Try September 27, 2026 for सेप्टेम्बर २७, २०२६. This changes digit characters and month spelling; it does not change the number, year, or calendar. Switch to English mode to keep 0–9 from the first key. Existing text stays as it is.
Period or पूर्णविराम
The . key always types an English period, including after a Nepali word and in decimals. Type | for । after Nepali text or a number. Inside a recognized link or email address, punctuation stays literal. Pasted text follows the same rule.
Choose only when needed
Ambiguous words show a readings dropdown. The first reading appears in the editor; pick another from the dropdown or press Alt + 1, 2, and so on. Press Space to keep the displayed reading and finish the word.
Links and email stay readable
Recognizable links and ordinary ASCII email addresses stay as you typed them in Nepali mode, including case, digits, paths, and query strings. Try an HTTP(S) link, a www. address, a domain such as camera.com, or name+tag@example.com.
namaste camera.com name@example.com
नमस्ते camera.com name@example.com
Preservation starts early: http:, https:, www., name@, and camera.c already stay Roman before the address is complete. The same rule applies to typing and paste. Before a cue appears, camera still becomes क्यामेरा, and a trailing period alone stays sentence punctuation. Use English mode before the first key to keep a fragment literal from its beginning.
During continuous typing, an address cue restores the current token to its original spelling, including any digits that had appeared in Nepali before the cue. A space finishes it. A pipe after a bare domain gives ।; a pipe within a URL path stays literal. Add a space before | to end a sentence after a URL path.
This uses address patterns and accepts unfinished addresses without checking whether they are valid or a domain exists. A dotted spelling such as pani.paani or its unfinished form pani.p also stays literal. Internationalized addresses and arbitrary English or code are outside this automatic handling; use English mode for those.
Switch, copy, or clear
The mode button shows Nepali mode when conversion is enabled and English mode when typing is literal. It switches the editor and all three marked form fields together. Existing text stays as it is.
Use English mode to type or paste an English phrase or code fragment, then switch back to continue Nepali typing. In English mode, digits and shortcut keys such as ^, ~, `, /, and | stay literal. The . key stays a period in both modes.
Copy copies the main editor text; Clear starts that editor again. English notes and the email-only field always stay literal.
Building with SahajLipi?
Explore the reusable engine, browser adapter, API, architecture, and benchmark documentation.