Korean Past Tense: 았/었 and the Golden Pattern
Korean past tense is one rule: attach 았 or 었 to the verb stem, then add 어요. Vowel harmony decides which — stems ending in ㅏ or ㅗ take 았 (갔어요, went), everything else takes 었 (먹었어요, ate), and 하다 verbs always contract to 했어요. If you can already build the 요-form, you already know past tense: drop the 요, staple on ㅆ, put 어요 back.
Every Korean textbook gives 았/었 its own chapter, like it's a new grammar system you have to build from scratch. It isn't. If you can already say 가요 (I go) or 좋아해요 (I like it), you're one consonant away from past tense — not a new topic, a small patch on one you already own.
Two rules cover every regular verb in the language: pick 았 or 었 by the stem's last vowel, staple it in front of 어요, and memorize the one contraction (하다 → 했어요). Everything past that — the double past, the time words, the trap that catches English speakers specifically — is five minutes of nuance below.
The single pattern behind every Korean past tense
Korean doesn't conjugate for person or number. 갔어요 covers I went, you went, she went, they all went — the verb doesn't care who did it. It only asks one question about how the verb sounds: does the stem's last vowel end in ㅏ or ㅗ? Those two — the "bright" vowels — take 았. Every other vowel takes 었. Then 어요 goes on the end, exactly like the polite present tense you already learned.
어제 정말 열심히 공부했어요.
eo-je jeong-mal yeol-sim-hi gong-bu-hae-sseo-yo.
I studied really hard yesterday.
하다 verbs always contract: 하+았→했.
우리 어제 부산에 갔어요.
u-ri eo-je bu-sa-ne ga-sseo-yo.
We went to Busan yesterday.
ㅏ stem → 았; 가+았 collapses into 갔.
민우가 우리 집에 왔어요.
Minwoo-ga u-ri ji-be wa-sseo-yo.
Minwoo came to our place.
ㅗ stem → 았; 오+았 collapses into 왔.
커피 마셨어요?
keo-pi ma-syeo-sseo-yo?
Did you have coffee?
Any other vowel → 었; 마시+었 becomes 마셨.
The transfer trick: you already built this
Here's the shortcut most guides skip: take the 요-form you already know, delete the 요, staple a ㅆ onto the syllable left behind as its batchim, then put 어요 back on. 가요 → 가 → 갔 → 갔어요. 마셔요 → 마셔 → 마셨 → 마셨어요. 해요 → 해 → 했 → 했어요. One consonant. That's the whole regular-verb past tense system — you're not learning new grammar, you're bolting ㅆ onto grammar you already have.
| Verb | 요-form (present) | Past tense |
|---|---|---|
| 가다 (go) | 가요 | 갔어요 |
| 오다 (come) | 와요 | 왔어요 |
| 마시다 (drink) | 마셔요 | 마셨어요 |
| 하다 (do) | 해요 | 했어요 |
If the 요-form still feels shaky, that's worth ten minutes before this clicks — everything here is built directly on top of it.
았었: the past-before-the-past Koreans actually use
Stack the pattern twice — 았+었 or 었+었 — and you get the double past: 봤었어요 (had seen / used to see), 살았었어요 (used to live), 사귀었었어요 (used to date). It's not decoration. It marks a past that's cut off from now — true once, not true anymore, or far enough back it feels like a different life. 이든 콘서트 예전에 봤었어요 doesn't just mean "I saw Eden's concert a while ago" — it carries a quiet "and that was forever ago, things are different now." Compare that with the plain 봤어요 (neutral: I saw it, could've been last week).
Time words that trigger past tense — and the trap English sets
어제 (yesterday), 아까 (a little while ago, same day), and 방금 (just now) show up glued to past tense constantly: 어제 왔어요 (came yesterday), 아까 전화했어요 (called earlier), 방금 도착했어요 (just arrived). Notice none of them need an extra "have" anywhere — Korean past tense already does that job.
Past tense in a real conversation
어제 뭐 했어?
eo-je mwo hae-sseo?
What did you do yesterday?
그냥 집에 있었어. 너는?
geu-nyang ji-be i-sseo-sseo. neo-neun?
Just stayed home. You?
나 아까 촬영장에서 이든 봤어!
na a-kka chwa-ryeong-jang-e-seo Eden bwa-sseo!
I just saw Eden at the shoot earlier!
진짜? 나도 예전엔 이든이랑 친했었는데 요즘은 연락 안 해.
jin-jja? na-do ye-jeo-nen Eden-i-rang chin-hae-sseon-neun-de yo-jeu-meun yeol-lak an hae.
Really? I used to be close with Eden too, back in the day — we don't really talk these days.
헐, 몰랐어.
heol, mol-la-sseo.
Whoa, I didn't know that.
Frequently asked questions
How do I know whether to use 았 or 었?
Check the last vowel of the verb stem, not the whole word. If it's ㅏ or ㅗ — the two "bright" vowels — attach 았 (가다 → 갔어요, 오다 → 왔어요). Every other vowel, including ㅓ, ㅜ, ㅡ, ㅣ, takes 었 (먹다 → 먹었어요, 마시다 → 마셨어요). 하다 verbs are the one memorized exception: they always become 했어요, never 하았어요.
What's the difference between 갔어요 and 갔었어요?
갔어요 is neutral past tense — I went, at some point, no extra baggage. 갔었어요, the doubled past, adds distance: it happened a long time ago, or the situation has since changed. Use 갔었어요 when you want "that was then, this is now"; otherwise plain 갔어요 is correct and far more common.
Does 하다 always turn into 했어요?
Yes, without exception. 하다's present tense is already irregular (해요, not the expected 하아요), and past tense inherits it: 하+였 contracts to 해, the ㅆ gives 했, and 어요 gives 했어요. Since thousands of Korean verbs are noun + 하다 compounds (공부하다, 사랑하다, 운동하다), this one pattern covers a huge share of everyday past tense.
Does Korean past tense also cover the English present perfect?
Partly. Completed one-off actions ("I've already eaten" = 이미 먹었어요) map cleanly onto 았/었. But ongoing states that started in the past and are still true ("I've lived here for years") use present tense plus 고 있다 (살고 있어요), not past — using 았/었 there implies the state has already ended.
How do I make casual (banmal) past tense?
Drop the 요: 갔어요 → 갔어, 먹었어요 → 먹었어, 했어요 → 했어. The 았/었 insertion itself never changes between polite and casual speech — only the final 요 disappears, exactly like it does everywhere else in the politeness system.