A huge share of Korean endings come in two shapes, spelled -아/어: the polite present -아/어요, the past marker -았/었-, the connective -아/어서 ("and so"), the resultant -아/어 있다, and more. Every time you use one, you make a choice — 아 or 어? — and this page teaches the one rule that answers it. The rule is short, mechanical, and has essentially a single exception. Learn it here and you never have to think about it again on any of those endings.
The rule: look at the stem's last vowel
Take the stem and find its last vowel:
- If that vowel is ㅏ or ㅗ — the "bright" vowels (양성모음) — use 아.
- For anything else (ㅓ, ㅜ, ㅡ, ㅣ, ㅔ, ㅐ, ㅢ …), use 어.
That's the whole rule. It is pure sound-matching, not meaning — the ending harmonizes its vowel-color to the stem. Watch it decide:
| Stem | Last vowel | Bright or dark? | Ending | Present |
|---|---|---|---|---|
| 살- | ㅏ | bright | 아 | 살아요 |
| 좋- | ㅗ | bright | 아 | 좋아요 |
| 먹- | ㅓ | dark | 어 | 먹어요 |
| 읽- | ㅣ | dark | 어 | 읽어요 |
| 마시- | ㅣ | dark | 어 | 마셔요 |
Bright stems (ㅏ, ㅗ) take 아
기분이 정말 좋아요.
gibuni jeongmal joayo
I feel really good. (좋-: last vowel ㅗ → 아)
물고기가 물에서 살아요.
mulgogiga mureseo sarayo
Fish live in water. (살-: last vowel ㅏ → 아)
여기 좀 앉아요.
yeogi jom anjayo
Have a seat here. (앉-: last vowel ㅏ → 아, and the ㅈ links onto 아)
Everything else takes 어
The "dark" bucket is really just a default: if the last vowel isn't ㅏ or ㅗ, you reach for 어. This covers the large majority of stems.
저는 아침을 꼭 먹어요.
jeoneun achimeul kkok meogeoyo
I always eat breakfast. (먹-: last vowel ㅓ → 어)
저는 매일 밤 책을 읽어요.
jeoneun maeil bam chaegeul ilgeoyo
I read a book every night. (읽-: last vowel ㅣ → 어)
커피를 자주 마셔요.
keopireul jaju masyeoyo
I drink coffee often. (마시- + 어 → 마셔, the ㅣ glides into 어)
It's the last vowel that counts
The rule keys off the stem's final vowel, not its first — which matters the moment a stem has more than one syllable. In 기다리- ("wait"), the vowels are ㅣ, ㅏ, ㅣ; you ignore the earlier ones and read only the last, ㅣ → 어:
여기서 잠깐 기다려요.
yeogiseo jamkkan gidaryeoyo
Wait here for a moment. (기다리-: final vowel ㅣ → 어 → 기다려요)
So a stem like 만나- ("meet") harmonizes on its last ㅏ → 만나요, while 가르치- ("teach") harmonizes on its last ㅣ → 가르쳐요. Scan to the end of the stem and read that one vowel.
The one exception you memorize: 하다 → 해
There is exactly one systematic exception, and it happens to be the most productive verb in the language. 하다 does not take -아/어 at all — it takes an archaic allomorph -여, and 하 + 여 contracts to 해 (해요, 했어요, 해서). Because every 하다 verb inherits this, you memorize 해 once and it covers thousands of words. Full mechanics on 하 + 여 → 해.
When 아/어 meets a vowel-final stem: contraction
Choosing the vowel is step one. When the stem itself ends in a vowel, that vowel and the chosen 아/어 then fuse. The clearest case is 오다 ("come"): the last vowel ㅗ is bright, so harmony picks 아 — and then 오 + 아 contracts to 와:
친구가 내일 우리 집에 와요.
chinguga naeil uri jibe wayo
A friend is coming to our place tomorrow. (오-: ㅗ → 아, then 오 + 아 → 와)
The fusion patterns (오+아 → 와, 주+어 → 줘, 마시+어 → 마셔, and the rest) are their own topic — see vowel-stem contractions. Just remember the order: harmony first, contraction second.
Why this pays off: it's the same rule everywhere
The reason vowel harmony is worth nailing down now is that the identical choice drives several other endings, so one rule earns its keep many times:
| Ending | Bright stem (살-) | Dark stem (먹-) |
|---|---|---|
| Present -아/어요 | 살아요 | 먹어요 |
| Past -았/었- | 살았어요 | 먹었어요 |
| "and so" -아/어서 | 살아서 | 먹어서 |
예전에 이 동네에서 살았어요.
yejeone i dongne-eseo sarasseoyo
I used to live in this neighborhood. (bright 살- takes 았, not ×었)
Once you've decided 살- is a bright stem, every -아/어 ending on it uses 아: 살아요, 살았어요, 살아서. You never re-decide per ending.
Honest caveat: ㅡ-final stems
One class deserves a warning so you don't misapply the rule. Stems whose last vowel is ㅡ — 크다, 예쁘다, 바쁘다, 쓰다 — don't simply take 어. The ㅡ drops before -아/어, and harmony is then decided by the preceding syllable's vowel (or defaults to 어 if there is none): 바쁘- → drop ㅡ → the earlier ㅏ is bright → 바빠요; 예쁘- → the earlier ㅖ isn't bright → 예뻐요; 크- → nothing precedes → 커요. This is the 으 irregular, a separate mechanism layered on top of harmony — don't try to read the bare ㅡ as "dark." It gets its own page: 으-drop stems.
Reframing for English speakers
English has vowel alternations too (sing/sang, foot/feet), but they carry meaning — tense, number. Korean vowel harmony carries none: 아 vs 어 is the same ending either way, chosen purely by the sound of the stem, the way the a/an article in English is chosen by the next sound rather than by meaning. So don't hunt for a semantic reason 좋다 takes 아 and 먹다 takes 어 — there isn't one. Read the last stem vowel, match the colour, done. The habit becomes automatic within weeks, and from then on it's invisible.
Common Mistakes
1. Defaulting everything to -어요. A bright stem must take 아, not 어.
❌ 날씨가 좋어요.
Wrong — 좋- has ㅗ (bright), so it takes 아 → 좋아요.
✅ 날씨가 좋아요.
nalssiga joayo
The weather is nice.
2. Reading the wrong syllable's vowel. Harmony keys off the last vowel, not the first.
❌ 여기서 기다라요.
Wrong — 기다리- ends in ㅣ (dark), so it's 기다려요, not ×기다라요.
✅ 여기서 기다려요.
yeogiseo gidaryeoyo
Wait here.
3. Applying plain harmony to 하다. 하다 refuses -아/어; it takes 여 → 해.
❌ 지금 공부하아요.
Wrong — 하다 is the exception: 하 + 여 → 해 → 공부해요.
✅ 지금 공부해요.
jigeum gongbuhaeyo
I'm studying right now.
4. Treating a bare ㅡ stem as dark. The ㅡ drops; the previous vowel decides.
❌ 저는 요즘 바쁘어요.
Wrong — the ㅡ of 바쁘- drops; the earlier ㅏ is bright → 바빠요.
✅ 저는 요즘 바빠요.
jeoneun yojeum bappayo
I'm busy these days.
Key Takeaways
- One rule sets every -아/어 ending: stem's last vowel is ㅏ or ㅗ → 아; anything else → 어.
- It's the last vowel of the stem that counts (기다리- → 기다려요).
- It's phonological colour-matching, not meaning — no English semantic analog.
- The single systematic exception is 하다 → 해 (하 + 여), inherited by all 하다 verbs.
- Harmony first, then contraction for vowel-final stems (오- → ㅗ picks 아 → 오 + 아 → 와요).
- ㅡ-final stems are the 으 irregular: the ㅡ drops and the preceding vowel decides (바빠요, 예뻐요, 커요) — a separate page.
Now practice Korean
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Korean→Related Topics
- Vowel-Stem Contractions: 가 + 아 → 가, 오 + 아 → 와, 보 + 아 → 봐TOPIK 1 — The obligatory sound-fusions that fire when a vowel-final stem meets -아/어요 — identical vowels merge, ㅗ+아 becomes ㅘ, ㅜ+어 becomes ㅝ — so the 'long' forms 가아요, 오아요, 주어요 are never written or said.
- 하다 → 해: The 여-ContractionTOPIK 1 — The one lexical exception to vowel harmony: 하다 takes neither -아 nor -어 but the archaic allomorph -여, and 하 + 여 always contracts to 해 — a single fixed output that conjugates thousands of 하다-compounds (공부해요, 사랑해, 시작해서).
- The Polite Present -아/어요 (해요체)TOPIK 1 — -아/어요, the informal-polite present that is the everyday workhorse of spoken Korean: stem + 아/어 by harmony + 요, covering a wide present ('go / am going / do go') and, with rising intonation, questions too — polite but warm, never stiff.
- The Past Tense -았/었어요TOPIK 1 — The past marker -았/었- slots in before the ending, chosen by the same ㅏ/ㅗ vowel harmony as the present. The shortcut that makes it nearly free: take your 해요-form, drop 요, and add ㅆ어요 — 가요→갔어요, 마셔요→마셨어요, 해요→했어요.
- The 으 Drop: 쓰다 → 써요, 크다 → 커요TOPIK 1 — Any stem whose last vowel is ㅡ loses that ㅡ before an -아/어 ending. For a one-syllable ㅡ stem there is no preceding vowel, so it always defaults to 어: 쓰다 → 써요, 크다 → 커요, 끄다 → 꺼요. The most predictable of all the 'irregular' classes.