Pattern
Age is expressed with a avea, not a fi: Am X ani ("I have X years") = "I am X years old."
Explanation
Romanian follows the Romance pattern (cf. French j'ai 30 ans, Spanish tengo 30 años) of using the verb to have for age. Sunt 30 de ani is grammatically nonsensical to a native ear. The fixed construction is a avea + number + ani (the masculine plural of an, "year").
Quirk: when the number is 20 or higher, Romanian inserts de before ani. So Am 20 de ani, Am 30 de ani, Am 100 de ani. For numbers below 20, no de: Am 5 ani, Am 15 ani. The rule generalizes: large numbers (≥20) require de before any counted noun.
Asking someone's age: Câți ani ai? ("How many years do you have?") for informal, or Câți ani aveți? for formal/plural. Answering: Am ___ de ani. For someone else: Câți ani are el? — Are 25 de ani.
Examples
| Romanian | English |
|---|---|
| Câți ani ai? — Am 28 de ani. | How old are you? — I'm 28. |
| Fiul meu are 5 ani. | My son is 5 years old. |
| Avem 30 de ani, suntem gemeni. | We're 30, we're twins. |
| Bunica mea are 85 de ani. | My grandmother is 85. |
| Cati ani au copiii tăi? — Au 4 și 7 ani. | How old are your kids? — They're 4 and 7. |
Common mistakes
- Using a fi for age: Sunt 30 de ani is wrong. Use am.
- Forgetting "de" with 20+: Am 30 ani is wrong — it's Am 30 de ani.
- Adding "de" with small numbers: Am 5 de ani is wrong; just Am 5 ani.
Heritage learner note
Heritage speakers almost always get this right intuitively — you grew up saying "câți ani ai." Where you may slip is the de rule: under pressure, some heritage learners say "am treizeci ani" without the de. Listen for it: native speakers always say "treizeci de ani." Also, double-check the masculine plural form ani (not anii, which would mean "the years" with the definite article).