Updated 15 January, 2020
This page gathers together basic information about the Balinese script and its use for the Balinese language. It aims (generally) to provide an overview of the orthography and typographic features, and (specifically) to advise how to write Balinese using Unicode; for greater details follow the footnote links (especially those with an arrow alongside them).
For similar information related to other scripts, see the script links pages.
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. Colours and annotations on panels listing characters are relevant to their use for the Balinese language.
Unless in parentheses, the transcriptions in italics that follow Balinese text are a transliteration developed for these pages. Those in parentheses are usually ISO transcriptions. Transcriptions in ⌈ brackets ⌋ may be phonemic or phonetic.
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.
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.
The script is an 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.
Balinese text is written horizontally, left to right.
Click on the sound groups to see where else in the document each of the sounds are referred to.
Phones in a lighter colour are non-native or allophones.
The inherent vowel a is pronounced ə at the end of a word and also in prefixes ma-, pa- and da-. So ᬓ is pronounced ka.
Other than the inherent vowel, vowel sounds that follow a consonant sound are represented using vowel-signs, eg. ᬓᬶ ki. This includes the diphthongs (which can each be represented by a single code point), 2 prescript signs, and 3 circumgraphs.
To represent the sound rə, Balinese uses the vocalic letter. The sequence ᬭ [U+1B2D BALINESE LETTER RA] + ᭂ [U+1B42 BALINESE VOWEL SIGN PEPET] is not used.
Balinese vowel-signs are all combining characters. In principle a single Unicode character is used per base consonant, even if the vowel-signs appear on both sides of the base consonant, however 3 vowel signs decompose to more than one character (see multipart). All vowel-signs are typed and stored after the base consonant, and the font puts them in the correct place for display.
The majority of the vowel-signs are spacing marks, meaning that they consume horizontal space when added to a base consonant.
See also vocalics.
Three vowel-signs can be written as a single character, or as two, eg.
The single code point per vowel-sign is preferred, however the parts are separated in Unicode Normalisation Form D (NFD).
Whichever approach is used, the vowel-signs must be typed and stored after the consonant characters they surround, and in left to right order.
The following list shows where vowel-signs are positioned around a base consonant to produce vowels, and how many instances of that pattern there are.
At maximum, vowel components can occur concurrently on 2 sides of the base.
Balinese uses ᭄ [U+1B44 BALINESE ADEG ADEG] (the Balinese equivalent of the Sanskrit virama) to kill the inherent vowel after a consonant.
The adeg adeg is visible at the end of a word that ends in consonant, but is usually hidden (with occasional exceptions) when the consonant is part of a consonant cluster (see clusters).
In the middle of a word, Balinese represents standalone vowels using a vowel-sign after ᬳ [U+1B33 BALINESE LETTER HA], eg. ᬤᬳᬾᬭᬄ dherh̽ (daerah) development.
At the beginning of a word, most standalone vowels are represented using one of the 10 independent vowel characters. The set includes a character to represent the inherent vowel sound.
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 alongside ᬳ [U+1B33 BALINESE LETTER HA] at the beginning of a word.
In Sasak, independent vowel ᬅ [U+1B05 BALINESE LETTER AKARA] can be followed by an explicit ◌᭄ [U+1B44 BALINESE ADEG ADEG] in word- or syllable-final position, where it indicates the glottal stop, eg. ᬳᬫᬅ᭄ hmạ͓ amaʔ; other consonants can also be subjoined to it.
At the beginning of a syllable the vocalic is treated as a consonant, eg. ᬓᭂᬋᬂ kər̥̣ŋ̇̽ (kěrěng) eat a lot, ᬢᬍᬃ tl̥̣r̽ (talĕr) therefore.
As a second component in a consonant cluster, the vocalic ra repa has a postfixed form and a subjoined form.
The postfixed form is seen where the independent (consonant) form of ra repa follows a syllable which ends in a consonant, The sequence of Unicode characters to be used for this is C + ᭄ + ᬋ [ consonant + U+1B44 BALINESE ADEG ADEG + U+1B0B BALINESE LETTER RA REPA], eg. ᬧᬓ᭄ᬋᬋᬄ pk͓r̥̣r̥̣h̽ (Pak Rěrěh) Mr Rereh.
The subjoined form is used to represent the dependent ra repa after a syllable-initial consonant. The sequence of characters to be used here is C + ᬺ [ consonant + U+1B3A BALINESE VOWEL SIGN RA REPA], eg. ᬓᬺᬰ᭄ᬡ kr̥ŝ͓n̂ (Krěsna) Krishna .
Click on the sounds to see where else in the document they are referred to.
|stop||p b||t d||k ɡ|
|fricative||f v||s z||x ɣ||ħ ʕ||h|
Sourcewp. Sounds in parentheses are non-native or allophones.
Only 18 of the consonants in the Balinese Unicode block are used for pure Balinese language text. The remainder are used for words derived from Sanskrit or Kawi.
ᬳ [U+1B33 BALINESE LETTER HA] at the beginning of a word or after a preceding vowel is mostly used as a support for a vowel-sign (see independentvowels), and is not pronounced or transcribed. Word finally with a suffix vowel, however, it is transcribed. l
Many of the additional consonants are commonly used in words originating from Arabic and Dutch, and are most common in north Bali and Lombok. When used in pure Balinese words, they are similar to capital letters and are used to create an honorific effect. There are similar characters in Javanese. In words originating from Sanskrit, Old Javanese, or Old Balinese, they represent aspirated or other consonants. l
Additional consonants used for Sanskrit words.
Additional consonants used for words from Kawi.
Two consonants, ᬔ [U+1B14 BALINESE LETTER KA MAHAPRANA] and ᬙ [U+1B19 BALINESE LETTER CA LACA,] are considered very rare, and one other, ᬛ [U+1B1B BALINESE LETTER JA JERA], seems to be known from only one word ( ᬦᬶᬃᬛᬭ nir̽ʤ̇r nirjhara pond ). (It is possible that an original ai may have been lost in Balinese, to be replaced by the glyph for jʰa.)
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 following ᬘ [U+1B18 BALINESE LETTER CA], ie. ᬘ᭄ᬙ c͓C, and most of the retroflex series is often omitted in books about the script.
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.)
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.
The first 7 of the 8 listed above are attested in Library of Congress transliterations and in earlier Sasak orthography. The 8th, ᬤ᬴ could be used for one-to-one transliteration for Javanese d̠.
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: ᬓ᬴᭄ᬚ kˑ͓ʤ (xja), or ᬓ᭄ᬚ᬴ k͓ʤˑ (kza), or indeed ᬓ᬴᭄ᬚ᬴ kˑ͓ʤˑ (xza). 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.
The consonants ya, ra, la and wa regularly appear immediately after the initial consonant in a syllable. Balinese has no special characters for these medial sounds, they are just written using the normal approach for dealing with consonant clusters, eg. ᬓ᭄ᬭᬫ k͓rm (krama) member.
Multiple medials can occur: r or l can be followed by w or y, eg. ᬩ᭄ᬭ᭄ᬬᬕ᭄ b͓r͓yg͓ (bryag) laughter.
In addition, the vocalics can produce consonant sounds in medial position, eg. ᬓᬺᬰ᭄ᬡ kr̥ŝ͓n̂ (Krĕsna) Krishna.
See clusters for more details on shaping of glyphs.
Word-final consonant sounds with no following consonant are by default represented by ordinary consonant characters, followed by a visible ᭄ [U+1B44 BALINESE ADEG ADEG] character, eg. ᬓᬵᬤᭂᬧ᭄ kɑ̄dəp͓ kādĕp sold, ᬓᬧᬮ᭄ kpl͓ (kapal) ship.
However, there is also a set of combining characters that don't need to be followed by the adeg adeg.
ᬂ [U+1B02 BALINESE SIGN CECEK] and ᬄ [U+1B04 BALINESE SIGN BISAH] only appear at the end of a word, eg. ᬓᭂᬋᬂ kər̥̣ŋ̇̽ (kěrěng) eat a lot, ᬫᬗᬄ mŋh̽ (mangah) logic, unless the word involves repetition, eg. ᬘᬾᬂᬘᬾᬂ ceŋ̇̽ceŋ̇̽ (cengceng) musical instrument.
ᬃ [U+1B03 BALINESE SIGN SURANG] can appear at the end of any syllable, eg. ᬓᬃᬡ kr̽n̂ (karna) ear.
A syllable-final diacritic may appear above a stack, eg. ᬩᬗ᭄ᬓᬸᬂ bŋ͓kuŋ̇̽ (bangkung) pig.
Two other characters have a specialist usage related to (usually religious) Sanskrit words.
ᬀ [U+1B00 BALINESE SIGN ULU RICEM] when combined with certain syllables becomes part of the Aksara Modre, or holy letters, which are used to write words in Sanskrit, usually part of prayers. This character only appears in Sanskrit texts, eg. ᬰᬶᬤ᭄ᬥᬀ siddham.
ᬁ [U+1B01 BALINESE SIGN ULU CANDRA] appears only in holy letters, eg. ᬫᬁ mŋ̽ (Mang). When combined with independent vowel ạʷ it becomes a special symbol called omkara and is pronounced m. In this form it is used to represent god, eg. ᬒᬁᬱᬦ᭄ᬢᬶ᭞ᬱᬦ᭄ᬢᬶ᭞ᬱᬦ᭄ᬢᬶ᭞ᬒᬁ ạʷŋ̽sn͓ti,sn͓ti,sn͓ti,ạʷŋ̽ (omsanti,santi,santi,om) May peace be everywhere.
The absence of a vowel sound between two or more consonants is visually indicated in one of the following ways.
In Unicode, the stacking and conjoining behaviour is achieved by adding ᭄ [U+1B44 BALINESE ADEG ADEG] between the consonants. The font hides the glyph automatically.
Because there are no spaces between words, consonants at the end of one word and the beginning of the next also behave like other consonant clusters. When this leads to stacks or conjoined sequences, the joined words are not typically split at line ends.
To represent consonants without intervening vowels, the non-initial consonant is typically drawn below the initial consonant, and with a slightly different shape.
The following table shows 28 consonants in their normal and subjoined forms.
Many of the subjoined forms are just slightly smaller versions of the original, but several have very different shapes altogether, most of which ligate with the cluster initial consonant by joining strokes.
There can be up to 3 consonants combined in this way, and the third consonant must be one of ya, ra, la or wa.
Some consonants in non-initial positions in a cluster remain side by side, but the non-initial consonant uses a special conjoined form, eg. the s, which is normally shaped ᬱ, loses some ink to its left side in ᬅᬓ᭄ᬱᬭ ạk͓ṡ̂r (akśara) alphabet, which is characteristic of all these conjoined forms.
The conjoined form of ᬲ [U+1B32 BALINESE LETTER SA] is unusual in that it involves strokes both below and to the right of the initial consonant, eg. ᬧᬓ᭄ᬲ pk͓s (paksa) force.
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. ᬧᬓ᭄ᬭᬫᬦ᭄ pk͓rmn͓ (pakraman) membership vs. ᬧᬓ᭄ᬭᬫᬦ᭄ pk͓ₓrmn͓ (Pak Raman) Mr Raman.
You 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 ᬢᬫ᭄ᬩ᭄ᬮᬂ . The Unicode Standard advises to use a zero-width non-joiner after ma, to achieve this.
Note that this may also be achieved 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.
As mentioned earlier, Balinese represents some final consonants using diacritics. Such syllable-final diacritics are followed by ordinary consonant shapes in consonant clusters.
In addition to the vowel-signs, vocalics, and final consonants already mentioned, the Devanagari block contains the following diacritics, which are also introduced in the following sections, respectively, extension, and suppression.
ᬁ [U+1B01 BALINESE SIGN ULU CANDRA] was already introduced to represent syllable-final consonants, but has a more general role in representing 'holy letters' or modre symbols.
There is also a set of musical diacritical marks, which are not described here.
The symbols in the Balinese block are all musical symbols, and are not described here.
The Balinese Unicode block contains the following punctuation marks.
All but the last are described in phrase, and the final mark is described in linebreak.
There is 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. ᬩᬮᬶ᭞᭓᭞ᬚᬸᬮᬶ᭞᭑᭙᭘᭒᭟ bli,3,ʤuli,1982. Bali, 3 July 1982.
You can experiment with examples using the Balinese picker.
Are special glyph forms needed, depending on the context in which a character is used? Do glyphs interact in some circumstances?
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 ᬩ᭄ᬭ᭄ᬬᬕ᭄ b͓r͓yg͓ (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> can be rendered as ᭄ᬬᬵ.
Are there requirements to position diacritics or other items specially, depending on context? Does the script have multiple diacritics competing for the same location relative to the base?
When a vowel and a final consonant sign both appear above a consonant, they are placed side by side, eg. ᬱᬫ᭄ᬧᬶᬂ sm͓piŋ̇̽ (samping) side.
Does the script have special requirements for baseline alignment between mixed scripts and in general?
Are italicisation, bolding, oblique, etc relevant? Do italic fonts lean in the right direction? Is synthesised italicisation problematic? Are there other problems relating to bolding or italicisation - perhaps relating to generalised assumptions of applicability?
If the script is bicameral, are the special rules about case conversion? Are there other correspondences between glyphs, such as half- vs fullwidth presentation forms?
Do Unicode grapheme clusters appropriately segment character units for the script? Are there special requirements when double-clicking on the text, or moving through the text with the cursor, or backspace, etc.?
Are words separated by spaces, or other characters? Are there special requirements when double-clicking on the text? Are words hyphenated?
Words are not separated by spaces, and in fact some word boundaries occur between stacked consonants. This means that segmentation for line-breaking, etc. uses orthographic syllables as a unit, where orthographic means
What characters are used to indicate the boundaries of phrases, sentences, and sections?
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].
What characters are used as parentheses, or to bracket information?
What characters are used to indicate quotations? Do quotations within quotations use different characters? What characters are used to indicate dialogue?
What characters are used to indicate abbreviation, ellipsis & repetition?
How are emphasis and highlighting achieved? If lines are drawn alongside, over or through the text, do they need to be a special distance from the text itself? Is it important to skip characters when underlining, etc? How do things change for vertically set text?
What mechanisms, if any, are used to create inline notes and annotations? (For referent-type notes such as footnotes, see below.)
Are there special rules about the way text wraps when it hits the end of a line? Does line-breaking wrap whole 'words' at a time, or characters, or something else (such as syllables in Tibetan and Javanese)? What characters should not appear at the end or start of a line, and what should be done to prevent that?
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.
For an application to use this correctly, it would need to know where the word boundaries are in the text, and then put this character at the end of the line only when a multisyllabic word is broken. This would require a dictionary to be applied to the text, as it is for line-breaking in Thai or Khmer, even though breaking on syllables is the default.
Character properties. Characters used for the Balinese language have the following assignments related to line-break properties.
|AL||94||ᬅ ᬆ ᬇ ᬈ ᬉ ᬊ ᬋ ᬌ ᬍ ᬎ ᬏ ᬐ ᬑ ᬒ ᬓ ᬔ ᬕ ᬖ ᬗ ᬘ ᬙ ᬚ ᬛ ᬜ ᬝ ᬞ ᬟ ᬠ ᬡ ᬢ ᬣ ᬤ ᬥ ᬦ ᬧ ᬨ ᬩ ᬪ ᬫ ᬬ ᬭ ᬮ ᬯ ᬰ ᬱ ᬳ ᭜|
|BA||12||᭚ ᭛ ᭝ ᭞ ᭟ ᭠|
|CM||44||ᬀ ᬁ ᬂ ᬃ ᬄ ᬴ ᬵ ᬶ ᬷ ᬸ ᬹ ᬺ ᬻ ᬼ ᬽ ᬾ ᬿ ᭀ ᭁ ᭂ ᭃ ᭄|
|NU||20||᭐ ᭑ ᭒ ᭓ ᭔ ᭕ ᭖ ᭗ ᭘ ᭙|
AL (ordinary alphabetic and symbol characters) requires other characters to provide break opportunities; otherwise, unless tailored rules are applied, no line breaks are allowed between pairs of them.
BA (break after) indicates that it is normal to break after that character.
CM (combining mark) takes on the behaviour of its base character.
NU (number) behaves like ordinary characters (AL) in the context of most characters but activate the prefix and postfix behavior of prefix and postfix characters.
Does text in a paragraph needs to have flush lines down both sides? Does the script need assistance to conform to a grid pattern? Does the script allow punctuation to hang outside the text box at the start or end of a line? Where adjustments are need to make a line flush, how is that done? Does the script shrink/stretch space between words and/or letters? Are word baselines stretched, as in Arabic? What about paragraph indents?
According to Sudewa, full justification is not a feature of Balinese text in traditional palm-leaf manuscripts, and only left, or occasionally centred or right alignment is relevant.
Does the script create emphasis or other effects by spacing out the words, letters or syllables in a word? (For justification related spacing, see above.).
Are there list or other counter styles in use? If so, what is the format used? Do counters need to be upright in vertical text? Are there other aspects related to counters and lists that need to be addressed?
Does the script use special styling of the initial letter of a line or paragraph, such as for drop caps or similar? How about the size relationship between the large letter and the lines alongide? where does the large letter anchor relative to the lines alongside? is it normal to include initial quote marks in the large letter? is the large letter really a syllable? etc.
How are the main text area and ancilliary areas positioned and defined? Are there any special requirements here, such as dimensions in characters for the Japanese kihon hanmen? The book cover for scripts that are read right-to-left scripts is on the right of the spine, rather than the left. When content can flow vertically and to the left or right, how to specify the location of objects, text, etc. relative to the flow? Do tables and grid layouts work as expected? How do columns work in vertical text? Can you mix block of vertical and horizontal text? Does text scroll in a different direction?
Traditionally, Balinese was written on thin, landscape palm-leaf manuscripts, called lontar.
The text was packed in without paragraph breaks.
Does the script have special requirements for character grids or tables?
Does the script have special requirements for notes, footnotes, endnotes or other necessary annotations of this kind? (There is a section above for purely inline annotations, such as ruby or warichu. This section is more about annotation systems that separate the reference marks and the content of the notes.)
Are vertical form controls needed? Are scroll bars in an unusual position? Other special requirements for user interaction?
Are there special conventions for page numbering, or the way that running headers and the like are handled?
Version 12.0 of the Unicode Standard has the following blocks dedicated to the Balinese script (numbers in lists are non-ASCII only):
Apart from ASCII characters, the Balinese orthography described here uses 83 characters (and 1 more, used infrequently) from the following Unicode blocks:
Character Usage has information about the following orthography associated with this script: Balinese
For detailed character-specific information see the Balinese character notes.
According to ScriptSource, the Balinese script is used for the following languages: