Balinese script summary

Updated Mon 13 Oct 2014 • tags balinese, scriptnotes

This page provides basic information about the Balinese script. It is not authoritative, peer-reviewed information – these are just notes I have gathered or copied from various places as I learned. For similar information related to other scripts, see the Script comparison table.

Clicking on red text examples, or highlighting part of the sample text shows 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.

Sample (Balinese)


Usage & history

From Scriptsource:

The Balinese script is used for writing the Balinese language spoken on the Indonesian islands of Java and Bali. It is derived from the Old Kawi script, and is ultimately of Brahmic descent. It is very similar to the Javanese script in form and behaviour; some consider them to be typological variants of one another. ...

Historically, Balinese has been inscribed into stone, or written on palm leaves. Traditionally, the religious texts written on palm leaves were considered to be sacred and could not be read by everyone; now, the palm leaves themselves are still considered sacred, although the contents is not, and can be read by anyone who is able, through the media of printed books. New literature in the script is uncommon, however traditional literature is published on a limited scale. Additionally, it is used for public signage on roads, at entrances to villages, and on government buildings. Community reading groups called Sekaha Pesantian also exist for the purpose of reading the Balinese script in a social context, commonly in song form.

From Wikipedia:

The Balinese script, natively known as Aksara Bali and Hanacaraka, is an alphabet used in the island of Bali, Indonesia, commonly for writing the Austronesian Balinese language, Old Javanese, and the liturgical language Sanskrit. With some modifications, the script is also used to write the Sasak language, used in the neighboring island of Lombok. The script is a descendant of the Brahmi script, and so has many similarities with the modern scripts of South and Southeast Asia. The Balinese script, along with the Javanese script, is considered the most elaborate and ornate among Brahmic scripts of Southeast Asia.

Though everyday use of the script has largely been supplanted by the Latin alphabet, the Balinese script has significant prevalence in many of the island's traditional ceremonies and is strongly associated with the Hindu religion. The script is mainly used today for copying lontar or palm leaf manuscripts containing religious texts.

Key features

The script type is abugida. Consonants carry an inherent vowel a, although that is pronounced ə at the end of a word. See the table to the right for a brief overview of features, taken from the Script Comparison Table.

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

Character lists

The Balinese script characters in Unicode 10.0 are in the following block:

The following links give information about characters used for languages associated with this script. The numbers in parentheses are for non-ASCII characters.

For character-specific details see the Balinese character notes.



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.

Holy letters

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

Text layout

Text delimiters

Words are not separated by spaces, and in fact some word boundaries are between stacked consonants.

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].

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.

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
Last changed 2018-04-17 10:57 GMT.  •  Make a comment.  •  Licence CC-By © r12a.