Arabic ↔ Buckwalter Transliterator

Convert Arabic script to Buckwalter ASCII encoding and back

Free Buckwalter transliterator — convert Arabic script to the strict 1-to-1 Buckwalter ASCII scheme and back, instantly in your browser. No upload, no account. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is Buckwalter transliteration?

Buckwalter transliteration is a strict one-to-one mapping between Arabic letters (including diacritics) and ASCII characters, devised by Tim Buckwalter. It is widely used in Arabic natural-language processing because every Arabic glyph maps to exactly one ASCII symbol with no ambiguity.

The Arabic ↔ Buckwalter transliterator converts between Arabic script and the Buckwalter ASCII encoding, a strict one-to-one mapping used throughout Arabic computational linguistics. Because every Arabic letter and diacritic corresponds to exactly one ASCII character, the encoding is fully reversible — a property that makes it the standard for storing Arabic in plain-text NLP corpora.

Why Buckwalter exists

Before Unicode support was widespread, researchers needed a way to store Arabic text in plain-text environments — databases, spreadsheets, early computational tools — that could only handle 7-bit ASCII. Tim Buckwalter’s scheme, introduced while he was at Xerox PARC and later refined at the Linguistic Data Consortium (LDC), solved that by mapping every Arabic Unicode code point to a unique printable ASCII character. The result is compact, unambiguous, and reversible, which is why it remains the internal format for many Arabic NLP corpora, treebanks, and morphological analysers decades later.

How it works

Each Arabic Unicode code point is paired with one ASCII character. Consonants map to intuitive letters where possible: بb, تt, دd, رr, سs, عE, قq. Letters with no obvious Latin match reuse symbols and punctuation: ء (hamza)→', أ>, إ<, ذ*, ثv, حH, خx, صS, ضD, طT, ظZ, غg. Diacritics map too: fatha→a, damma→u, kasra→i, sukun→o, shadda→~, and the tanwin marks→F, N, K.

Since the mapping is a bijection, conversion in either direction is a simple character-by-character substitution. Anything not in the table — Latin letters, digits, spaces, punctuation already in ASCII — passes through unchanged.

Worked examples

The word كتاب (book) becomes ktAb. Breaking it down: k=ك, t=ت, A=ا (long alef), b=ب. The phrase العربية (Arabic, feminine adjective) becomes AlErbyp: A=ا, l=ل, E=ع, r=ر, b=ب, y=ي, p=ة (ta marbuta). Converting ktAb back returns كتاب exactly — illustrating the bijection.

A vocalised form such as كَتَبَ (he wrote) in full short-vowel markup becomes kataba: k=ك, a=fatha, t=ت, a=fatha, b=ب, a=fatha. That six-character ASCII string round-trips back to the diacritically-marked Arabic character-for-character.

Buckwalter quick-reference table

ArabicBuckwalterCommon name
اAalef
بbba
تtta
ثvtha
جjjeem
حHha (pharyngeal)
خxkha
دddal
ذ*thal
رrra
زzzayn
سsseen
ش$sheen
صSsad
ضDdad
طTtah
ظZthah
عEayn
غgghain
فffa
قqqaf
كkkaf
لllam
مmmeem
نnnoon
هhha
وwwaw
يyya
ةpta marbuta
أ>alef with hamza above
إ<alef with hamza below
آ|alef madda
ءhamza
ـ_tatweel

Diacritics: fatha a · damma u · kasra i · sukun o · shadda ~ · tanwin fath F · tanwin damm N · tanwin kasr K.

Practical uses

  • NLP preprocessing: feeding Arabic into morphological analysers, POS taggers, and parsers that expect Buckwalter-encoded input (for example the LDC Arabic Treebank or the MADA+TOKAN toolkit).
  • Spreadsheet work: storing vocalised Arabic in cells without encoding headaches.
  • Corpus annotation: annotators working in ASCII-only tools can mark up Arabic then convert back.
  • Regex searching: Buckwalter-encoded text can be searched with standard ASCII regex patterns, which is far simpler than writing Unicode-aware Arabic patterns.

Important caveats

Buckwalter is case-sensitive and nothing like ALA-LC, Hans Wehr, or other transliteration schemes — s is س (seen) while S is ص (sad), and h is ه while H is ح. Do not mix it with phonemic romanization systems. It is not meant to be readable as English; it is an exact, machine-friendly representation. Everything runs locally — your text is never uploaded.