Skip to content

Why Greeklish Transliteration Trips Up AI Models

9 min read · updated August 11, 2026

A Greek speaker typing kalhspera is not being lazy about kalispera. The h is doing a job: it says the vowel is η and not ι, and the official standard throws that information away.

Five ways to write one vowel sound

Modern Greek pronunciation converged over two millennia while the spelling did not. The result, called iotacism, is that six different spellings all say ee: the letters η, ι and υ, and the digraphs ει, οι and υι. Similarly ο and ω are both o, and ε and αι are both e.

Greek orthography therefore carries a great deal of information that pronunciation does not. Which ee a word uses is fixed, learned, and socially weighted — spelling errors in Greek are conspicuous in the way they are in English, and for the same reason: the spelling encodes etymology that the sound has lost.

Any romanisation must therefore choose. It can preserve the sound, in which case η, ι, υ, ει and οι all become i and the original spelling is unrecoverable. Or it can preserve the spelling, in which case it needs five distinct Latin renderings for one sound and the output no longer tells an English reader how to say the word. These are the two conventions in use, and they are not better and worse versions of each other.

What ELOT 743 does with them

ELOT 743, issued by the Hellenic Organization for Standardization and aligned with ISO 843, is the official system. It is what Greek passports and identity documents use. Its core table:

α a    β v    γ g    δ d    ε e    ζ z    η i    θ th
ι i    κ k    λ l    μ m    ν n    ξ x    ο o    π p
ρ r    σ s    τ t    υ y    φ f    χ ch    ψ ps   ω o

ου ou   αι ai   ει ei   οι oi
αυ av / af   ευ ev / ef   (voiced before a voiced sound, else voiceless)
μπ b or mp   ντ d or nt   γκ g or gk   γγ ng

Note η → i and ι → i, and ω → o and ο → o. ELOT 743 is not reversible: given Sofia you cannot tell whether the source was Σοφία or Σοφια, and given kalispera you cannot recover καλησπέρα. ISO 843 acknowledges this by defining two modes — a transcription, which is the table above, and a transliteration that adds diacritics (η as ī, ω as ō) to restore reversibility. It is the transcription that everyone actually uses.

The αυ and ευ rules are the other place output varies legitimately. Ευάγγελος is Evangelos because the following sound is voiced; ευχαριστώ is efcharisto because it is not. A model that applies one of these uniformly will be right about half the time, and the error is invisible unless you know the rule exists.

What Greeklish does instead

Greeklish grew out of systems that could not display Greek at all, and its users wanted to be read as writing Greek — correctly spelled Greek. So the substitutions are chosen to preserve the letter identity, by shape or by keyboard position rather than by sound.

  • η → h. On the standard Greek keyboard layout, η sits on the H key. This is the single most characteristic Greeklish substitution and it exists purely to keep η distinct from ι.
  • ω → w. By shape. Keeps ω distinct from ο, which ELOT does not.
  • θ → 8 or 9, ξ → 3, φ → f, ψ → y. Shape-based substitutions for letters with no obvious Latin counterpart. The digit is not a digit.
  • υ → u or y, χ → x, β → b. Keyboard-position based. Note that β → b is phonetically wrong — β is v in modern Greek — but it is what the B key produces, and that is the logic being followed.

So καλησπέρα is kalhspera, Γιώργος is Giwrgos, and ευχαριστώ is euxaristw. Every one of those is invertible back to correct Greek spelling, which is the entire point, and every one looks like a typo to a system expecting ELOT.

There is no standards body, no single table, and real usage mixes shape-based, keyboard-based and phonetic substitutions within one message. 8 and th for θ appear in the same conversation. It is a family of conventions, not a system.

Where a model goes wrong

Two directions, two failures.

Greek to Latin. Asked to transliterate, a model tends towards a transcription resembling ELOT or common English usage, because that is what the overwhelming majority of Latin-script text about Greek looks like. If what you wanted was Greeklish — because you are generating text for a Greek audience in a Latin-only channel — you have to say so and give the table, since “Greeklish” names a family rather than a mapping.

Latin to Greek. This is the harder direction and the one that fails quietly. Reading kalhspera requires the model to recognise that h is η rather than a mis-typed letter, and reading 3ereis requires it to read the 3 as ξ rather than as a number. In a message that also contains real numbers — a price, a time, an order reference — the model has to make that judgement per character. Digits adjacent to letters with no space are the signal, and it is not a reliable one.

The consequence for a product is that Greeklish input mostly does not get detected as Greek at all. A language identifier sees Latin characters and returns something else, and everything downstream that branches on language then does the wrong thing — detecting language in a mixed-script document is the same problem in general form.

Handling both in one system

  • Do not normalise Greeklish to ELOT. That conversion is lossy in the direction you cannot afford — it merges η with ι and ω with ο, and you can never get back to Greek. Convert Greeklish to Greek script instead, and treat the Greek as canonical.
  • Index the Greek and a folded key. Fold by mapping all of η, ι, υ, ει, οι to a single symbol and ο, ω to another. This makes a misspelled Greek query match a correctly spelled document, which matters because iotacism means Greek users make exactly these errors.
  • Strip the final sigma distinction for matching. ς and σ are the same letter in different positions, like the Hebrew final forms, and must be folded before comparison.
  • Handle the accent. Modern Greek marks the stressed vowel with a tonos (ά έ ή ί ό ύ ώ). Strip it for the match key, keep it for display, and normalise to NFC first — as with every other script here, it can arrive precomposed or as a combining mark.
Which convention a model reaches for by default is a model-version property and not a fact about Greek. The ELOT 743 table above is fixed by the standard; the tendency described in this section is something to re-check against whatever model you are on rather than to rely on.