Javanese script for English (ꦗꦴꦨꦴꦤꦷꦣ ꦱ꧀ꦏꦿꦶꦥ꧀ꦠ ꦦꦵꦂ ꦆꦁꦒ꧀ꦭꦶꦯ)

The Javanese script (also called Hanacaraka, from the first 5 letters in the traditional Javanese letter ordering) is one of the most elaborate writing systems in the world. Having adopted Khmer script a few months back, I soon turned my attention to Javanese, as it is a descendant of the closely related Kawi script that was widely used throughout Maritime Southeast Asia a thousand years ago. The common ancestry of Khmer and Javanese is easy to point out, as a few of their letterforms are very visually similar to each other.

Adaptation process

As with other Brahmic scripts, Javanese script has separate letters for retroflex consonants, and letters that once represented aspirated and breathy voiced consonants, but which are primarily used today as ‘honorific letters’ for writing important names. On the other hand, English doesn’t have either retroflex or breathy voiced consonants, but quite a bit of fricatives like /f/, /v/, /θ/, /ð/, /z/, and /ʒ/. In this adaptation, I used some of these extra consonant letters to represent the English language fricatives:

  • ꦦ /pʰ/ -> /f/
  • ꦨ /bʱ/ -> /v/
  • ꦛ /ʈ/ -> /θ/
  • ꦝ /ɖ/ -> /ð/
  • ꦣ /ɖʱ/ -> /z/
  • ꦙ /ɟʱ/ -> /ʒ/

(the IPA transcription represents its historical pronunciation, not the current one)

Many of the other consonants were fairly straightforward: /n/ ꦤ, /ŋ/ ꦔ, /m/ ꦩ, /ɹ/ ꦫ, /h/ ꦲ, /tʃ/ ꦕ, and so on.

Adaptation of vowels

As for the Javanese script vowels, mapping them to English language vowels was straightforward as well: /a/ = ꦴ, /ɛ/ = ꦺ, /ɪ/ = ꦶ, /ʊ/ = ꦸ.

To write /ɔ/, I use the variant normally used in Sundanese, ꦵ, as it is more compact. The traditional Javanese way of writing /ɔ/ ꦺꦴ is reserved for writing /ɔː/ instead.

I also re-used the wignyan (visarga) diacritic ꦃ, which originally represented /h/ in final position. In this adaptation, as with my other Brahmic script adaptations, I use it to represent rising diphthongs that mostly end in /ɪ/, e.g. /ɔɪ/ ꦵꦃ is basically the vowel for /ɔ/ ꦵ with ꦃ after it.

Also, I do not use the inherent vowel concept, as I reckon that it only adds an additional layer of complexity.


Consonants ꦏꦵꦤ꧀ꦱꦵꦤꦼꦤ꧀ꦠꦱ

/p/ (port)/b/ (born)/f/ (free)/v/ (van)/m/ (muse)
/t/ (tree)/d/ (drive)/θ/ (thank)/ð/ (the)/n/ (new)
/k/ (call)/g/ (get)/x/ (loch)/ɣ/ /ŋ/ (sing)
/s/ (soon)/z/ (zoo)/ʃ/ (share)/ʒ/ (azure).
/tʃ/ (change)/dʒ/ (joke)...
/ɹ/ (run)/l/ (laugh)/h/ (house)/w/ (way)/j/ (yell)

Subscript consonants ꦱꦴꦧꦱ꧀ꦏꦿꦶꦥ꧀ꦠ ꦏꦵꦤ꧀ꦱꦵꦤꦼꦤ꧀ꦠꦱ

Javanese script allows a 2nd consonant letter to go under another letter to represent consonant clusters. For most consonants in Unicode Javanese, this is triggered by putting the pangkon sign ꧀ between the consonant letters, and the consonants /j/ and /r/ have their own dedicated symbols: ꦾ and ꦿ respectively.

The following consonants form a shortened form to the right of the preceding consonant, instead of going under them: /p/, /f/, /s/, /and /h/.

In the following table, I use the letter for /k/ ꦏ as the 1st letter for demonstration purposes – in practice, any letter can be used.

/kp/ ꦏ꧀ꦥ/kb/ ꦏ꧀ꦧ/kf/ ꦏ꧀ꦦ/kv/ ꦏ꧀ꦨ/km/ ꦏ꧀ꦩ
/kt/ ꦏ꧀ꦠ/kd/ ꦏ꧀ꦢ/kθ/ ꦏ꧀ꦛ/kð/ ꦏ꧀ꦝ/kn/ ꦏ꧀ꦤ
/kk/ ꦏ꧀ꦏ/kg/ ꦏ꧀ꦒ/kx/ ꦏ꧀ꦑ/kɣ/ ꦏ꧀ꦓ/kŋ/ ꦏ꧀ꦔ
/ks/ ꦏ꧀ꦱ/kz/ ꦏ꧀ꦣ/kʃ/ ꦏ꧀ꦯ/kʒ/ ꦏ꧀ꦙ.
/ktʃ/ ꦏ꧀ꦕ/kdʒ/ ꦏ꧀ꦗ...
/kɹ/ ꦏꦿ/kl/ ꦏ꧀ꦭ/kh/ ꦏ꧀ꦲ/kw/ ꦏ꧀ꦮ/kj/ ꦏꦾ

Syllable-final consonant diacritics ꦱꦶꦭꦼꦧꦼꦭ-ꦦꦻꦤꦼꦭ ꦏꦵꦤ꧀ꦱꦵꦤꦼꦤ꧀ꦠ ꦢꦻꦅꦏꦿꦶꦠꦶꦏ꧀ꦱ

Javanese script has 2 diacritics for representing consonants at the end of a syllable.

/ŋ/ /ɹ/

Vowels ꦨꦴꦮꦼꦭ꧀ꦱ

Vowel diacritics are placed either on the top, bottom, right, or left of the consonant. Some of them surround it on both sides.

/a/~/ʌ/ (sun)/æ/ ꦼꦴ (can)
/ə/~/ɜ/ (sure)/ɛ/ (red)
/ɪ/ (bid)/iː/ (bead)
/ɔ/ (pot)/ɔː/ ꦺꦴ (call)
/ʊ/ (pull)/uː/ ꦸꦴ (pool)

Diphthongs ꦢꦶꦦ꧀ꦛꦵꦁꦱ

/aɪ/ (side)/aʊ/ ꦻꦴ (now)
/eɪ/ ꦺꦃ (say)/ɪə/ ꦶꦅ (hear)
/ɔɪ/ ꦵꦃ (toy)/oʊ/ (dough)
/ʊə/ ꧀ꦮꦼ (tour)/juː/ ꦾꦸ (news)

Triphthongs ꦠꦿꦶꦦ꧀ꦛꦵꦁꦱ

/aɪə/ ꦻꦅ (flyer)/aʊə/ ꦻꦴꦅ (tower)
/jʊə/ ꦾꦸꦅ (cure).

Independent vowels​ ꦆꦤ꧀ꦢꦶꦥꦺꦤ꧀ꦢꦼꦤ꧀ꦠ ꦨꦴꦮꦼꦭ꧀ꦱ

Like many other Brahmic scripts, Javanese script comes with its own set of independent vowels, used to spell words starting with a vowel, and all of which are used in this adaptation.

In contemporary Javanese script orthography, ꦅ is only used to write the /i/ vowel in transcriptions of old Javanese. In this adaptation, I reused it to represent the schwa /ə/, since /i/ is already represented with ꦆ.

/a/ /ə/ /ɪ/ /ɔ/ /ʊ/
/æ/ ꦄꦼ/ɛ/ /iː/ /ɔː/ ꦎꦎ/uː/ ꦈꦴ
/aɪ/ /eɪ/ ꦌꦃ./ɔɪ/ ꦎꦃ/wə/ ꦮꦼ
/aʊ/ ꦎꦴ/ɪə/ ꦆꦅ./oʊ/ ꦎꦼ/juː/ ꦪꦸ

Numerals ꦤꦾꦸꦩꦼꦫꦼꦭ꧀ꦱ

Javanese also has its own set of numerals.

0 1 2 3 4
5 6 7 8 9

Most of the numerals visually look identical to other Javanese letters, as shown:

  • 1 ꧑ is identical to /g/ (ꦒ)
  • 2 ꧒ is identical to /ŋn/ (ꦔ + ꧀ꦤ)
  • 3 ꧓ is identical to /ŋj/ (ꦔ + ꦾ)
  • 6 ꧖ is identical to /ɛ/ (ꦌ)
  • 7 ꧗ is identical to /l/ (ꦭ)
  • 8 ꧘ is identical to /f/ (ꦦ)
  • 9 ꧙ is identical to /j/ (ꦪ)

To distinguish numeral sequences from text, the pada adeg ꧊ is used to visually separate the numbers. For example, ‘2019-03-29’ is written as ꧊꧒꧐꧑꧙-꧐꧓-꧒꧙꧊.

(Fun fact: to remember the numerals from 6 to 9, just remember the letter sequence ‘ELFY’. Pretty catchy too)

Punctuation ꦥꦴꦁꦕꦸꦌꦃꦯꦼꦤ

Punctuation is as in normal English orthography, with the following special punctuation marks

  • Comma: ꧈
  • Full stop: ꧉
  • Left bracket: ꧌
  • Right bracket: ꧍

Special cases ꦱ꧀ꦥꦺꦯꦼꦭ ꦏꦺꦃꦱꦼꦱ

If the subscript form of /ɹ/ is followed by /ʊ/, they form a special ligature that merges both of them together.

e.g. /gɹʊ/ = ꦒꦿꦸ

Also, /d/ and /ɹ/ form a special ligature when they are both in subscript forms.

e.g. /ndɹ/ = ꦤ꧀ꦢꦿ

Syllable structure ꦱꦶꦭꦼꦧꦼꦭ ꦱ꧀ꦠꦿꦴꦏ꧀ꦕꦼꦂ

Javanese script allows a consonant to be placed below another consonant, a very useful feature for writing consonant clusters like ‘kt’ and ‘str’ in a compact manner. There are also 2 consonants, /ŋ/ and /ɹ/, that can be indicated with a diacritic in final position. Both of these consonants are commonly found at the end of syllables.


  • /kə/ = ꦏꦼ
  • /kəɹ/ = ꦏꦼꦂ (with final /ɹ/ diacritic)
  • /sɪ/ = ꦱꦶ
  • /sɪŋ/ = ꦱꦶꦁ (with final /ŋ/ diacritic)
  • /sta/ = ꦱ꧀ꦠꦴ
  • /stɹakt/ = ꦱ꧀ꦠꦿꦴꦏ꧀ꦠ (literally ‘stɹa-kt’), and
  • /stɹɛŋθs/ = ꦱ꧀ꦠꦿꦺꦁꦛ꧀ꦱ (literally ‘stɹɛŋ-θs’).

Sample texts

Universal Declaration of Human Rights

ꦪꦸꦤꦶꦨꦼꦂꦱꦼꦭ ꦢꦶꦏ꧀ꦭꦼꦴꦫꦺꦃꦯꦼꦤ ꦎꦦ ꦲꦾꦸꦩꦼꦤ ꦫꦻꦠ꧀ꦱ

ꦎꦭ ꦲꦾꦸꦩꦼꦤ ꦧꦷꦁꦱ ꦄꦂ ꦧꦵꦂꦤ ꦦꦿꦷ ꦄꦼꦤ꧀ꦢ ꦆꦏꦸꦃꦭ ꦆꦤ ꦢꦶꦒ꧀ꦤꦶꦠꦶ ꦄꦼꦤ꧀ꦢ ꦫꦻꦠ꧀ꦱ꧉ ꦝꦺꦃ ꦄꦂ ꦌꦤ꧀ꦢꦻꦴꦢ ꦮꦶꦛ ꦫꦷꦣꦼꦤ ꦄꦼꦤ꧀ꦢ ꦏꦵꦤ꧀ꦯꦼꦤ꧀ꦱ ꦄꦼꦤ꧀ꦢ ꦯꦸꦢ ꦄꦼꦏ꧀ꦠ ꦠꦹꦮꦼꦂꦢ꧀ꦱ ꦮꦴꦤ ꦅꦤꦴꦝꦼꦂ ꦆꦤ ꦅ ꦱ꧀ꦥꦶꦫꦶꦠ ꦎꦦ ꦧꦿꦴꦝꦼꦂꦲꦸꦢ꧉

꧌ꦄꦂꦠꦶꦏꦼꦭ ꧊꧑꧊ ꦎꦦ ꦝꦼ ꦪꦸꦤꦶꦨꦼꦂꦱꦼꦭ ꦢꦶꦏ꧀ꦭꦼꦴꦫꦺꦃꦯꦼꦤ ꦎꦦ ꦲꦾꦸꦩꦼꦤ ꦫꦻꦠ꧀ꦱ꧍

Excerpt from a short story I wrote a while ago

For comparison, you can view the original one here.

ꦍ ꦲꦼꦴꦢ ꦅ ꦱ꧀ꦠꦿꦺꦃꦤ꧀ꦗ ꦢꦿꦷꦩ ꦝꦼꦴꦠ ꦤꦻꦠ꧉

ꦆꦤ ꦝꦼꦴꦠ ꦢꦿꦷꦩ꧈ ꦍ ꦦꦻꦴꦤ꧀ꦢ ꦩꦻꦱꦺꦭ꧀ꦦ ꦅꦮꦺꦃꦏꦼꦤꦶꦁ꧈ ꦭꦻꦆꦁ ꦎꦤ ꦱꦵꦦ꧀ꦠ ꦒꦿꦷꦤ ꦒꦿꦴꦱ꧈ ꦆꦤ ꦅ ꦦꦼꦴꦤ꧀ꦠꦼꦱꦶ ꧊꧘꧊-ꦧꦶꦠ ꦮꦼꦂꦭ꧀ꦢ ꦱꦼꦫꦻꦴꦤ꧀ꦢꦼꦢ ꦧꦻ ꦏꦵꦩ꧀ꦥꦾꦸꦠꦼꦂꦱ꧉ ꦝꦼ ꦭꦸꦩꦶꦤꦼꦤ꧀ꦱ ꦎꦦ ꦧ꧀ꦭꦶꦁꦏꦶꦁ ꦩꦹꦢꦺꦩ꧀ꦱ ꦄꦼꦤ꧀ꦢ ꦮꦺꦴꦩ꧈ ꦕꦶꦅꦂꦦꦸꦭ ꦕꦶꦥ꧀ꦠꦾꦸꦤ ꦩꦾꦸꦣꦶꦏ ꦦꦶꦭ꧀ꦢ ꦝꦶ ꦌꦂ꧉ ꦎꦭ꧀ꦝꦹ ꦌꦨꦿꦶꦛꦶꦁ ꦭꦸꦏ꧀ꦢ ꦧ꧀ꦭꦵꦏꦷ ꦄꦼꦤ꧀ꦢ ꦱ꧀ꦏꦮꦺꦂ꧈ ꦆꦠ ꦧꦿꦵꦠ ꦩꦶ ꦧꦼꦴꦏ ꦠꦸ ꦝꦹꦣ ꦢꦺꦃꦱ꧉ ꦎꦦ ꦎꦭ ꦝꦼ ꦏꦵꦩ꧀ꦥꦾꦸꦠꦼꦂꦱ ꦍ ꦱꦺꦴ꧈ ꧊꧑꧊ ꦎꦦ ꦝꦺꦩ ꦮꦼꦱ ꦥ꧀ꦭꦺꦃꦆꦁ ꦩꦻ ꦦꦺꦃꦨꦼꦫꦼꦠ ꦱꦵꦁ! ꦍ ꦗꦴꦩ꧀ꦥ ꦄꦼꦤ꧀ꦢ ꦭꦷꦥ ꦆꦤ ꦗꦵꦃ ꦎꦼꦨꦼꦂ ꦝꦼ ꦱꦻꦠ꧉ ꦍ ꦝꦺꦤ ꦱꦺꦴ ꦩꦻ ꦲꦻꦴꦱ꧈ ꦄꦼꦤ꧀ꦢ ꦍ ꦱꦺꦢ “ꦲꦻ” ꦠꦸ ꦩꦻ ꦧꦺꦱ꧀ꦠ ꦩꦺꦃꦠ꧀ꦱ꧈ ꦲꦸ ꦮꦼꦂ ꦮꦺꦃꦠꦶꦁ ꦎꦴꦠ꧀ꦱꦻꦢ꧉ ꦮꦶ ꦮꦺꦴꦏ꧀ꦢ ꦠꦸꦒꦺꦝꦼꦂ꧈ ꦲꦼꦴꦨꦶꦁ ꦅ ꦕꦶꦅꦫꦶ ꦕꦼꦴꦠ ꦅꦧꦻꦴꦠ ꦝꦼ ꦏꦵꦩ꧀ꦥꦾꦸꦠꦼꦂ ꦒꦺꦃꦩ ꦍ ꦮꦼꦱ ꦮꦼꦂꦏꦶꦁ ꦎꦤ ꦅꦂꦭꦶꦅꦂ꧉

“ꦱꦹ ꦮꦴꦠ꧀ꦱ ꦝꦼꦴꦠ ꦏꦸꦭ ꦒꦺꦃꦩ ꦒꦵꦤꦴ ꦧꦶ ꦅꦧꦻꦴꦠ꧈ ꦌꦃ?” ꦮꦴꦤ ꦎꦦ ꦝꦺꦩ ꦄꦱ꧀ꦏꦢ꧉ “ꦆꦦ ꦪꦸ ꦭꦼꦨ꧀ꦢ ꦩꦴꦫꦶꦎꦼ꧈ ꦪꦸꦭ ꦭꦼꦨ ꦝꦶꦱ!” ꦍ ꦱꦺꦢ꧉ “ꦎꦎꦱꦼꦩ!!! ꦏꦴꦤ꧀ꦠ ꦮꦺꦃꦠ ꦠꦸ ꦱꦷ ꦆꦠ!” ꦆꦤ꧀ꦱꦻꦢ ꦩꦷ ꦝꦼ ꦦꦻꦅꦂ ꦠꦸ ꦏꦷꦥ ꦩꦷ ꦒꦹꦆꦁ ꦧꦶꦏꦺꦃꦩ ꦱ꧀ꦠꦿꦵꦁꦒꦼꦂ꧉

ꦮꦶ ꦮꦺꦴꦏ꧀ꦢ ꦆꦤ꧀ꦠꦸ ꦅ ꦨꦶꦨꦶꦢ ꦱꦴꦤ꧀ꦱꦺꦠ꧉ ꦍ ꦫꦺꦩꦶꦤꦶꦱ꧀ꦢ ꦝꦼ ꦩꦺꦩꦵꦫꦶꦱ ꦎꦦ ꦥꦴꦱ꧀ꦠ ꦱꦴꦩꦼꦂꦱ꧈ ꦥ꧀ꦭꦺꦃꦆꦁ ꦫꦺꦠꦿꦹ ꦨꦶꦢꦶꦎꦼ ꦒꦺꦃꦩ꧀ꦱ ꦆꦤ ꦝꦼ ꦏꦸꦭ ꦯꦺꦃꦢ꧈ ꦆꦨꦼꦤ ꦝꦹ ꦝꦼ ꦱꦴꦤ ꦎꦴꦠ꧀ꦱꦻꦢ ꦥꦷꦏ꧀ꦢ ꦄꦼꦠ ꧊꧔꧒꧊ ꦢꦶꦒꦿꦷꦱ ꦄꦼꦤ꧀ꦢ ꦩꦺꦭ꧀ꦠꦼꦢ ꦌꦨꦿꦶꦛꦶꦁ ꦌꦭ꧀ꦱ꧉


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.