Updated Mon 13 Oct 2014 • tags balinese, scriptnotes

This page provides basic information about the Balinese script. For similar information related to other scripts, see the Script comparison table.

Click on the orange text in the features list (right column) to jump to notes and examples. Click on red text examples or highlight part of the sample text to see a list of characters. Click on the vertical blue bar (bottom right) to change font settings for the sample text.

Note: In Google Chrome (only), the webfont used doesn't show examples starting with adeg adeg as expected. I suggest viewing with Firefox or Safari.

For more details see: Character notes Script links

Key features

The script type is abugida. Consonants carry an inherent vowel a, although that is pronounced ə at the end of a word.

Text runs left-to-right, and words are not separated by spaces.



Consonants have an inherent -a vowel sound. Consonants combine with following consonants in the usual Brahmic fashion: the inherent vowel is silenced by ◌᭄ [U+1B44 BALINESE ADEG ADEG​] (the Balinese equivalent of the Sanskrit virama), and the following consonant is subjoined or postfixed, often with a change in shape.

Only 18 of the consonants are used for pure Balinese language text. The remainder are used for words derived from Sanskrit or Kawi. There are also a few characters in the Unicode block that are used for the Sasak language. (It's not clear to me whether the fact that these relate to aspirated or retroflex forms originally affects the pronunciation.)

A number of the Sanskrit or Kawi consonants are rather poorly attested. The letter [U+1B19 BALINESE LETTER CA LACA] is only found in non-initial position as ◌᭄ᬙ, and most of the retroflex series is often omitted in books about the script. The letter [U+1B1B BALINESE LETTER JA JERA] jha seems to be known from only one word, ᬦᬶᬃᬛᬭ nirjhara pond. (It is possible that an original ai may have been lost in Balinese, to be replaced by the glyph for jha.)

The symbols for vocalic r and vocalic l have been reclassified as consonants (see below for details).

Consonant clusters

To represent consonants without intervening vowels, the non-initial consonant is typically drawn below the initial consonant, and with a slightly different shape. There can be up to 3 consonants combined in this way, and the third consonant must be one of ya, ra, la or wa. In some cases the following consonant appears to the right of the initial consonant.

Otherwise, the sign adeg-adeg is used to show that no vowel is present, eg. ᬓᬧᬮ᭄ kapal ship.

Usage tip: In Unicode, ◌᭄ [U+1B44 BALINESE ADEG ADEG​] is used between consonants to cause the conjunct combining behaviour.

Because there is no word separator, consonants at the end of one word and beginning of the following word are normally stacked, too. In some cases this leads to ambiguity about whether this is one or two words. If you really want to make clear which is which, you can use an explicit adeg-adeg, eg. ᬧᬓ᭄ᬭᬫᬦ᭄ pakraman membership vs. ᬧᬓ᭄‌ᬭᬫᬦ᭄ Pak Raman Mr Raman.

Usage tip: You can do this in Unicode by including [U+200C ZERO WIDTH NON-JOINER] after the adeg-adeg.

A somewhat ambiguous situation arises where apparently norms prevent certain combinations stacking. For example, the name of the village tamblung should not stack the mbl, but should look like ᬢᬫ᭄‌ᬩ᭄ᬮᬂ . This would look exactly like this if you used a zero-width non-joiner after ma, but it could be achieved also by intelligence in the font, as was actually the case when I generated this example (click on it to see). It's not clear to me what is the preferred approach: put zwnj in only when the font doesn't do what you want, or use it always. The latter may lead to more consistent content where different fonts are applied to the text (eg. after cut and paste). In theory, this shouldn't affect searching and sorting, although some applications may not ignore the zwnj as they should.

Ra repa

Balinese doesn"t use [U+1B2D BALINESE LETTER RA] + [U+1B42 BALINESE VOWEL SIGN PEPET​] to represent the sound . Instead it uses [U+1B0B BALINESE LETTER RA REPA]. At the beginning of a syllable, such as in ᬓᭂᬋᬂ kěrěng eat a lot, the latter is treated as a consonant.

Ra repa has a postfixed form and a subjoined form. The postfixed form ◌᭄ᬭᭂ is seen where the consonant form of ra repa follows a word which ends in a consonant, such as ᬧᬓ᭄ᬋᬋᬄ Pak Rěrěh Mr Rereh.

Usage tip: The sequence of characters to be used for this is <consonant, adeg-adeg, ra repa>, ie. not using ◌ᬺ [U+1B3A BALINESE VOWEL SIGN RA REPA​].

The subjoined form ◌ᬺ is used to represent the original vocalic r. In such cases, it follows a syllable-initial consonant, as in ᬓᬺᬰ᭄ᬡ Krěsna Krishna.

Usage tip: This is where ◌ᬺ [U+1B3A BALINESE VOWEL SIGN RA REPA​] is used. The sequence of characters to be used here is <consonant, vowel sign ra repa>.

Repertoire extension

The combining mark ◌᬴ [U+1B34 BALINESE SIGN REREKAN​] is used, as is a similar sign in Javanese, to extend the character repertoire for foreign sounds. Attested in Library of Congress transliterations and in earlier Sasak orthography are: ᬓ᬴ x, ᬕ᬴ ɣ, ᬗ᬴ ʕ, ᬚ᬴ z, ᬧ᬴ f, ᬯ᬴ v, and ᬳ᬴ ħ. ᬤ᬴ could be used for one-to-one transliteration for Javanese .

In rendering, the dots of these letters appear above the top character, which can cause some ambiguity in reading. The following are all visually indistinguishable: ᬓ᬴᭄ᬚ xja <ka, rerekan, adeg-adeg, ja>, or ᬓ᭄ᬚ᬴ kza <ka, adeg-adeg, ja, rerekan>, or indeed ᬓ᬴᭄ᬚ᬴ xza <ka, rerekan, adeg-adeg, ja, rerekan>. In practice these combinations are probably rather rare.

In recent times, Sasak users abandoned the use of the Javanese-influenced rerekan in favour of a series of modified letters (see above), making use, in addition, of some of unused Kawi letters for the Arabic sounds. In place of ᬓ᬴ x and ᬕ᬴ ɣ, for instance, the new fusion of KA and HA, [U+1B46 BALINESE LETTER KHOT SASAK] and the Kawi letter [U+1B16 BALINESE LETTER GA GORA] are used.


Consonants carry an inherent vowel a, pronounced ə at the end of a word and also in prefixes ma-, pa- and da-. There are vowel signs for all vowel sounds in Balinese except the inherent vowel.

There are also independent vowel forms for most vowels for use at the beginning of a word.

In the middle of a word, the vowel sign is used over ha. The vowels ◌ᭂ [U+1B42 BALINESE VOWEL SIGN PEPET​] and ◌ᭃ [U+1B43 BALINESE VOWEL SIGN PEPET TEDUNG​] don't have an independent form, and have to be used over [U+1B33 BALINESE LETTER HA] at the beginning of a word.

In Sasak, independent vowel [U+1B05 BALINESE LETTER AKARA] can be treated as a consonant insomuch as it can be followed by an explicit ◌᭄ [U+1B44 BALINESE ADEG ADEG​] in word- or syllable-final position, where it indicates the glottal stop, eg. ᬳᬫᬅ᭄ amaq; other consonants can also be subjoined to it.

Context-based glyph changes

Many of the subjoined and post-fixed consonant forms have different shapes from the standard glyph for that character, for example na becomes   ◌᭄ᬦ.

In addition, many conjunct clusters combine characters with special shapes, or subtly change parts of glyphs to join smoothly. Often the changes are significant, especially the medial consonants, ya, ra, wa and la. For example, see the sequence <ba, adeg-adeg, ra, adeg-adeg, ya> in ᬩ᭄ᬭ᭄ᬬᬕ᭄ briag laughter.

Combining vowel signs can also have different shapes depending on the context. For example, the vowel sign tedung typically ligates with the preceding consonant, eg. ha is but <ha, tedong> is ᬳᬵ and subjoined ya is   ◌᭄ᬬ but <consonant, adeg-adeg, ya, tedong> is   ◌᭄ᬬᬵ.

When two diacritics appear above a consonant, the shape and position needs to be adapted.

You can experiment with other examples using the Balinese picker.


There are a set of Balinese digits, and they are used in the same way as Latin digits.

However, many of the digit symbols are indistinguishable from other Balinese letters. Numbers are typically surrounded by [U+1B5E BALINESE CARIK SIKI], so that they are easily recognisable, eg. ᬩᬮᬶ᭞᭓᭞ᬚᬸᬮᬶ᭞᭑᭙᭘᭒᭟ Bali, 3 July 1982.


Both [U+1B5A BALINESE PANTI] and [U+1B5B BALINESE PAMADA] are used to begin a section in text.

[U+1B5D BALINESE CARIK PAMUNGKAH] is used as a colon, and [U+1B5E BALINESE CARIK SIKI] and [U+1B5F BALINESE CARIK PAREREN] are used as comma and full stop respectively.

At the end of a section, ᭟᭜᭟ pasalinan and ᭛᭜᭛ carik agung may be used (depending on what sign began the section). These are encoded using the punctuation ring [U+1B5C BALINESE WINDU] together with [U+1B5F BALINESE CARIK PAREREN] and [U+1B5B BALINESE PAMADA].

In some texts, "holy letters" or modre symbols are made by using ◌ᬁ [U+1B01 BALINESE SIGN ULU CANDRA​] with these: ᭜ᬁ, ᭟ᬁ, ᭛ᬁ .

Text layout

Line breaking and hyphenation

Common practice is to break the sentence at any point when it reaches the end of a line, except that no line breaks should be allowed within syllable boundaries and no line breaks are allowed just before a colon, comma or full stop.

In lontar texts where a word must be broken at the end of a line (always after a full syllable), the sign [U+1B60 BALINESE PAMENENG] is inserted. This sign is not used as a word-joining hyphen; it is used only in linebreaking.

List of basic symbols

This is a list of main characters or character combinations needed for Balinese. Clicking on these characters will open a page in another window. If the character is underlined, the new page will display additional information about that character.

Native consonants ᬳ ᬦ ᬘ ᬭ ᬓ ᬤ ᬢ ᬲ ᬯ ᬮ ᬫ ᬕ ᬩ ᬗ ᬧ ᬚ ᬬ ᬜ
Sanskrit/Kawi consonants ᬔ ᬖ ᬙ ᬛ ᬝ ᬞ ᬟ ᬠ ᬡ ᬣ ᬥ ᬨ ᬪ ᬰ ᬱ
Sasak consonants ᭅ ᭆ ᭇ ᭈ ᭉ ᭊ ᭋ
Independent vowels ᬅ ᬆ ᬇ ᬈ ᬉ ᬊ ᬋ ᬌ ᬍ ᬎ ᬏ ᬐ ᬑ ᬒ
Vowel signs ᬵ ᬶ ᬷ ᬸ ᬹ ᬺ ᬻ ᬼ ᬽ ᬾ ᬿ ᭀ ᭁ ᭂ ᭃ
Diacritics ᬀ ᬁ ᬂ ᬃ ᬄ ᭄ ᬴
Digits ᭐ ᭑ ᭒ ᭓ ᭔ ᭕ ᭖ ᭗ ᭘ ᭙
Punctuation ᭚ ᭛ ᭜ ᭝ ᭞ ᭟ ᭠


To test the various contextual forms of these characters, use the Balinese character picker.

Further reading

  1. [Sudewa] The Balinese Alphabet
  2. [Everson et al.] Proposal for encoding the Balinese script in the UCS
  3. [Wikipedia] Balinese script
  4. [Unicode] The Unicode Standard v6.0
  5. [Omniglot] Balinese
  6. [ScriptSource] Balinese
First published 10 Mar 2012. This version 2017-07-21 10:25 GMT.  •  Copyright Licence CC-By.