Apply the rules
Every word’s path, step by step, is below.
The small forms at the side show what the other rules would have given at the same step. The crossed-out ones can no longer reach the word.
The game is a teaching model, not a literal reconstruction of every historical stage. The rules capture recurring sound changes, but the engine works on written forms and lets you apply them in whatever order solves the word. The intermediate forms are states of the model; they should not automatically be read as attested historical forms. In the chains, model states carry a dotted underline.
What does the model simplify?
- It works on written forms. Latin spelling marks neither stress nor vowel length, though both decide how a vowel develops.
- It accepts any order that reaches the target. The real changes happened in a fixed relative chronology, which the game does not enforce.
- Some rules model only the case in the game. The labels in the rule list show which correspondences are broad, which hold under conditions, and which are simplified.
- It searches for the target form, not the history. A short route found by search is no proof of chronology, and an intermediate form is not necessarily an attested one.
Why did lactem become lapte?
Because the Latin cluster ct became pt in inherited words: lactem gave lapte, noctem gave noapte, factum gave fapt. Each word went through other changes as well, and none of them depends on what the word means. Regular sound changes depend on context. The game models part of that context in a simplified form.
Order matters
On the way from Latin to Romanian, a single l between vowels became r: sal gave sare, gula gave gură. But a double ll escaped the change and simplified only afterwards: caballus gave cal. The relative chronology decides the result. In the game the rules can be applied in any order, so a form that history never produced can be reached too. The map below shows them all.
The twenty-four rules
Each rule applies to every matching position in the word at once. The label states the historical breadth: broad correspondence, valid under conditions, or simplified for the game. The example shows a real step from the game, with the changed segment highlighted.
- -m, -s → –the ending dropsbroad ruleWord-final m and s stop being pronounced in late Latin.lupu
mlupu - -u → –final -u dropsconditionalLost after a single consonant, kept after clusters such as -dr- (codru) and after a vowel (bou). The game also lets it drop after i.lup
ulup - -a → -ăfinal -a becomes -ăbroad ruleUnstressed final a reduces to the central vowel ă.cas
acasă - ct → ptct becomes ptbroad ruleIn inherited words, the consonant made at the back of the mouth is replaced by one made at the lips. The same lactem gave latte in Italian, leche in Spanish and lait in French.la
ctelapte - gn → mngn becomes mnbroad ruleAgain a replacement by a consonant made at the lips, this time a nasal one: pugnus gives pumn, signum gives semn.pu
gnupumnu - x → psx becomes ps, as in coxasimplified in the gameThe letter x stood for the sounds cs. In coxa the cluster gave ps; elsewhere x generally reduced to s: exire gives ieși, texere gives țese, fraxinus gives frasin, laxare gives lasă. The game models only the change to ps.co
xăcopsă - qu → pqu becomes p before asimplified in the gameBefore a, the cluster made with rounded lips reduces to p: aqua gives apă, equa gives iapă, quattuor gives patru. Before e and i it gave c (quinque gives cinci, quid gives ce), and the interrogatives care, cât and când have c as well. The game models only the change to p.a
quăapă - CC → Cdouble consonants simplifybroad ruleLatin distinguished anus from annus by the length of the consonant. Romanian gave that distinction up.val
levale - VlV → VrVintervocalic l becomes rconditionalOnly a single l: a double ll is not affected, which is why the order of these two rules matters. The change is not general: pellis gives piele, galbinus gives galben. The game models only the change to r.sa
lesare - VbV, VvV → VVb and v drop between vowelssimplified in the gameIn some words the consonant weakens between vowels until nothing is left: caballus gives cal, faber gives faur, ovum gives ou, novus gives nou. In others it is kept, or weakens only as far as v: habere gives avea, prima vera gives primăvară. The game models only the loss.o
vuou - VV → Vtwo identical vowels mergeconditionalOnce a consonant drops, the two vowels left side by side merge into one.ca
alucalu - o → oastressed o becomes oaconditionalOnly when the vowel is stressed and a, ă or e follows in the next syllable. Hence poartă but porți. The game checks the following vowel, not the stress.portăpoartă
- e → iestressed e becomes iesimplified in the gameThe stressed short vowel diphthongises: an i appears in front of it. Historically the change struck the stressed vowel anywhere in the word (basilica gives biserică); the game applies it only at the start of the word.pelepiele
- e → iastressed e becomes iaconditionalThe same diphthongisation of stressed e; with a or ă in the next syllable, the second element is a. An unstressed e stays: civitas gives cetate. The game checks the following vowel, not the stress.p
etrăpiatră - a → â / _m, na becomes â before a nasalconditionalBefore a nasal consonant, stressed a generally closes toward â: campus gives câmp, lana gives lână. There are exceptions too: annus gives an, granum gives grâu. The game applies the change wherever it sees a followed by m or n.c
ampucâmpu - e → i / _m, ne becomes i before a nasalconditionalThe vowel e closes to i: dentem gives dinte, bene gives bine, tempus gives timp. Before an m followed by a vowel, e could stay: gemere gives geme, familia gives femeie. The game applies the change wherever it sees e followed by m or n.l
entelinte - o → u / _m, no becomes u before a nasalconditionalThe same closing before a nasal: pontem gives punte, montem gives munte, nomen gives nume. But homo gives om, somnus gives somn, domnus gives domn. The game applies the change wherever it sees o followed by m or n.p
ontepunte - ĭ → eshort i becomes esimplified in the gameLatin distinguished a long i from a short one. The difference was there in speech even though writing did not mark it, and short i became e: siccus gives sec, niger gives negru. The game applies the rule to any i, long or short.s
icusecu - ae → eae becomes ebroad ruleThe classical diphthong reduces to a plain vowel in later spoken Latin: caelum gives cer, quaerere gives cere.c
aelucelu - h → –h disappearsbroad ruleIt had not been pronounced for centuries by the time Romanian formed; spelling kept it out of habit.
hiarbăiarbă - CVC → CCthe unstressed vowel fallsconditionalIn some words the vowel of an unstressed syllable, before l, r or n, is lost outright: in the game, oculum passes through oclu, and directum gives drept. In others it is kept: singulus gives singur, vitellus gives vițel. The game models only the cases of loss.mier
ulămierlă - cl → chi, gl → ghicl and gl softenbroad ruleThe l becomes an i, and the consonant before it is palatalised: oculus gives ochi, clavis gives cheie, glacies gives gheață.oc
luochiu - li → ili before a vowel becomes ibroad ruleThe l disappears before an i followed by a vowel, and the i stays: filius gives fiu, familia gives femeie.fi
liufiiu - ti → țti before a vowel becomes țconditionalThe t is palatalised before a short i in hiatus and yields the affricate ț: pretium gives preț, negotium gives negoț. The game applies the change wherever it sees ti followed by a vowel.pre
tiuprețu
All forty derivations
The Latin form is generally the accusative, the form the Romanian word most often descends from; the exceptions and nuances are under “How the derivations were checked”. Any word can be played from here. The chain shows the shortest run of rules that leads from etymon to modern word. The middle forms are states of the model, marked with a dotted underline; they are not necessarily attested historical forms.
- lupPlay luplupumlupulupLat. lupum, “wolf”
- casăPlay casăcasamcasacasăLat. casam, “hut”In Classical Latin, casa meant chiefly a hut or a modest dwelling. The ordinary word for “house, home” was domus. In spoken Latin, casa widened its sense and gave Romanian casă, Italian casa, Spanish casa and French chez.
- focPlay focfocumfocufocLat. focum, “hearth”Focus originally meant “hearth”. In spoken Latin the sense widened to “fire”, displacing the classical term ignis across the Romance languages.
- laptePlay laptelactemlactelapte late formLat. lactem, “milk”The classical nominative is lac; lactem is the late accusative form from which Romanian starts.
- faptPlay faptfactumfactufaptufaptLat. factum, “deed”
- coptPlay coptcoctumcoctucoptucoptLat. coctum, “cooked, baked”
- pumnPlay pumnpugnumpugnupumnupumnLat. pugnum, “fist”
- apăPlay apăaquamaquaaquăapăLat. aquam, “water”
- valePlay valevallemvallevaleLat. vallem, “valley”
- anPlay anannumannuanuanLat. annum, “year”
- sarePlay saresalemsalesareLat. salem, “salt”
- gurăPlay gurăgulamgulagulăgurăLat. gulam, “gullet, appetite”In Romanian the name spread from gullet to mouth, and os, oris, the classical word for mouth, did not survive.
- ouPlay ouovumovuouLat. ovum, “egg”
- calPlay calcaballumcaballucabalucaalucalucalLat. caballum, “pack horse, nag”Caballus was the pack horse, the working horse. It became the ordinary word for horse across the Romance languages, displacing equus; the masculine equus has no known inherited descendant, but the feminine equa gave Romanian iapă, mare.
- poartăPlay poartăportamportaportăpoartăLat. portam, “gate”
- floarePlay floarefloremflorefloareLat. florem, “flower”
- soarePlay soaresolemsolesoresoareLat. solem, “sun”
- noaptePlay noaptenoctemnoctenoptenoapteLat. noctem, “night”
- coapsăPlay coapsăcoxamcoxacoxăcopsăcoapsăLat. coxam, “hip”
- pielePlay pielepellempellepelepieleLat. pellem, “skin”
- fierPlay fierferrumferruferufierufierLat. ferrum, “iron”
- piatrăPlay piatrăpetrampetrapetrăpiatrăLat. petram, “rock”
- câmpPlay câmpcampumcampucâmpucâmpLat. campum, “field”
- lânăPlay lânălanamlanalanălânăLat. lanam, “wool”
- lintePlay lintelentemlentelinteLat. lentem, “lentil”
- puntePlay puntepontempontepunteLat. pontem, “bridge”Pod came later from Slavic, and punte narrowed to the footbridge.
- muntePlay muntemontemmontemunteLat. montem, “mountain”
- secPlay secsiccumsiccusicusecusecLat. siccum, “dry”
- negruPlay negrunigrumnigrunegruLat. nigrum, “black”
- lemnPlay lemnlignumlignulimnulemnulemnLat. lignum, “wood”
- cerPlay cercaelumcaelucelucerucerLat. caelum, “sky”
- cumnatPlay cumnatcognatumcognatucomnatucumnatucumnatLat. cognatum, “blood relative”Romanian narrowed the sense from blood relative to relative by marriage.
- iarbăPlay iarbăherbamherbaherbăhiarbăiarbăLat. herbam, “grass”
- fiuPlay fiufiliumfiliufiiufiuLat. filium, “son”
- prețPlay prețpretiumpretiuprețuprețLat. pretium, “price”
- mierlăPlay mierlămerulammerulamerulămierulămierlăLat. merulam, “blackbird”
- trifoiPlay trifoitrifoliumtrifoliutrifoiutrifoiLat. trifolium, “clover”
- scândurăPlay scândurăscandulamscandulascandulăscandurăscândurăLat. scandulam, “shingle”
- dreptPlay dreptdirectumdirectudireptudreptudreptLat. directum, “straight, direct”
- ochiPlay ochioculumoculuocluochiuochiLat. oculum, “eye”
Questions
Why does lapte come from lactem, not from lac?
Lac is the classical nominative, the dictionary form. But inherited words generally continue the accusative, and the late accusative of this word is lactem. The same base gave Italian latte, Spanish leche and French lait.
Why did the cluster ct become pt?
In inherited Romanian, the Latin cluster ct regularly gave pt: lactem gave lapte, noctem gave noapte, factum gave fapt, coctum gave copt. Other Romance languages resolved the same cluster differently, hence Italian latte or Spanish leche.
Do the twenty-four rules hold for every word?
Not for every word. Some are broad correspondences, some hold only under conditions, and a few model only the case in the game: x becomes ps in coxa, but elsewhere x generally reduced to s. Late borrowings do not go through these changes: act and doctor keep the cluster ct.
Did the intermediate forms really exist?
Not necessarily: the chains show the steps of the model. A form such as aquă, from the chain of apă, is an intermediate engine state, not an attested form. The game reconstructs the result without dating the stages.
Why did caballum give cal, not car?
A single l between vowels became r, but a double ll escaped the change and simplified only afterwards. When rhotacism operated, caballus still had ll; that is why Romanian has cal. The “Order matters” section shows both routes inside the model.
Why do some Latin words look so little like Romanian?
Because several changes piled up. In caelum, the diphthong ae reduced to e, intervocalic l became r, and final -u dropped: cer. Each step is regular; together, they hide the etymon.
Further
How the derivations were checked
None of the forty derivations is written by hand. Every intermediate form on the page is what the rule named beside it produces, run through the same engine you use while playing. The step count given as the minimum is the shortest run found by a breadth-first search over the rules, up to eight of them.
The game applies its rules to written forms, while the historical changes affected pronunciation. Latin spelling marks neither stress nor vowel length, though both shape how a vowel develops: the rule “short i becomes e” applies here to any i, because spelling does not show which one was short. Likewise the game accepts any order that reaches the target, while the real chronology of the changes is fixed and settled in the handbooks. The chains here reconstruct the result for the reader without dating the stages. The full list of simplifications sits beside the game, under “What does the model simplify?”.
Inherited words very often continue the accusative form or a late form aligned with it, rather than the dictionary nominative, which is why the game starts from lupum and not lupus. But the history of the case system is more nuanced: om continues the nominative homo, for neuters the two forms coincided anyway, and some displayed etymons are late forms (lactem, since the classical nominative is lac).
To measure how far the rules reach beyond the words chosen here, the rules were given a separate test set: the 660 Romanian words that Wiktionary records as inherited directly from Latin, whose etymon is given without intermediate links and in a form the engine can start from. For 152 of them the engine finds exactly the Romanian form within a run of at most 7 applications, among them fugă, turmă, bine, coastă, lână, lingură, piedică and mire. One of them, vultur, is identical to its etymon. The rest need changes these twenty-four rules do not cover, or start from a nominative too far from the form the word descends from — lac for lapte, nox for noapte.
The test measures coverage, not precision: from each etymon the engine produces an average of 30.6 distinct forms, and for the words reached the median is 8. Lingură, for instance, is one of 393 forms the engine can produce from lingula. Some routes found are not the historical ones either: līnum reaches in through a long i turned into e, and terra reaches țară through an ia that history does not have. Reaching the target shows how far the rules get, not how the history happened.
Test run on 2026-09-24 · search depth: 7 · Inclusion criteria: a single-link chain, of the “inherited” kind, from Latin, with an alphabetic etymon of at least four letters. The full table of all 660 entries, with the rule-set version, can be downloaded as JSON. Download the test table (JSON)
Sources
- Wiktionary, English edition — the Latin etymons, inheritance chains and glosses; the description of the sound changes follows the handbooks below. Content under the CC BY-SA 4.0 licence.
- Marius Sala, De la latină la română, Univers Enciclopedic, Bucharest, 1998 — the reference description of the sound changes used here.
- Alexandru Rosetti, Istoria limbii române de la origini până la începutul secolului al XVII-lea, Editura Științifică și Enciclopedică, Bucharest, 1986 — the detailed treatment of consonant clusters and of vowels before nasals.