하다 ("to do") is the most productive verb in Korean by a wide margin: attach it to a noun and you get a verb. 공부 (study) → 공부하다 (to study), 일 (work) → 일하다 (to work), 사랑 (love) → 사랑하다 (to love). There are thousands of these, and every one of them forms its past the same way — through 하다. So if you learn just one past stem, learn this one: 하다 → 했-. It is the single highest-frequency past stem in the language, and it hands you narration, storytelling, and reporting over a huge vocabulary at once.
Where 했 comes from: 하 + 였 → 했
하다 does not follow the ordinary vowel-harmony rule (it would predict ×하아). Instead 하- takes the special ending 여, so the present is 하 + 여 → 해, and the past is 하 + 였 → 했. You do not need to compute this each time — just bank the fused result. See 하다 → 해 (the 여 irregular) for the full logic; here we simply use it.
주말에 뭐 했어요?
jumare mwo haesseoyo?
What did you do over the weekend?
숙제 다 했어?
sukje da haesseo?
Did you finish your homework? (casual)
Memorize the trio and you can operate in every basic time frame: 해 (present, do/does), 했 (past, did), 할 (prospective, will do). Once 했 is automatic, the past of thousands of verbs is automatic with it.
Every 하다-compound inherits 했-
This is the leverage. You do not learn a new past for each 하다-verb — they all bolt their past onto the same 했.
| Dictionary | Meaning | Past (해요체) | Reading |
|---|---|---|---|
| 공부하다 | to study | 공부했어요 | gongbuhaesseoyo |
| 일하다 | to work | 일했어요 | ilhaesseoyo |
| 운동하다 | to exercise | 운동했어요 | undonghaesseoyo |
| 전화하다 | to phone | 전화했어요 | jeonhwahaesseoyo |
| 이사하다 | to move house | 이사했어요 | isahaesseoyo |
| 시작하다 | to start | 시작했어요 | sijakaesseoyo |
| 사랑하다 | to love | 사랑했어요 | saranghaesseoyo |
어제 밤늦게까지 공부했어요.
eoje bamneutgekkaji gongbuhaesseoyo
I studied until late last night.
아침마다 운동했어요.
achimmada undonghaesseoyo
I worked out every morning.
어제 오랜만에 친구랑 전화했어요.
eoje oraenmane chingurang jeonhwahaesseoyo
I talked on the phone with a friend yesterday for the first time in a while.
The noun never changes — only 하다 carries the tense
A 하다-verb has two parts, and they have a strict division of labor: the noun part supplies the meaning and stays perfectly still, while 하다 alone carries the grammar. In 공부하다, 공부 never inflects; only 하다 moves to 했다. Do not try to put the tense on the noun.
지난주에 이사했습니다.
jinanjue isahaetseumnida
I moved (house) last week. (formal)
회의는 세 시에 시작했습니다.
hoeuineun se sie sijakaetseumnida
The meeting started at three o'clock. (formal)
Notice 이사 and 시작 sit unchanged; the whole past lives in 했. This split is a gift to the learner — it means you conjugate one verb (하다) rather than thousands.
Across speech levels: 했어요 / 했습니다 / 했어
The past stem 했 stays fixed; you just swap the ending to match the register. This too transfers across the entire 하다 class.
| Level | Ending | Example (공부하다) | Reading |
|---|---|---|---|
| 해요체 (polite) | 했어요 | 공부했어요 | gongbuhaesseoyo |
| 합니다체 (formal) | 했습니다 | 공부했습니다 | gongbuhaetseumnida |
| 반말 (casual) | 했어 | 공부했어 | gongbuhaesseo |
정말 사랑했어.
jeongmal saranghaesseo
I really loved you. (casual)
Descriptive 하다-words work the same way
Many adjectives are also 하다-words — 조용하다 (to be quiet), 유명하다 (to be famous), 편하다 (to be comfortable) — and they form their past through 했 identically. Korean adjectives inflect for tense on their own (see the past of adjectives and the copula), and for the 하다 class that means 했 again.
어제는 도서관이 정말 조용했어요.
eojeneun doseogwani jeongmal joyonghaesseoyo
The library was really quiet yesterday.
There is no separate "was" here: 조용했어요 by itself means "was quiet." The adjective carries its own past, and for 하다-adjectives the past is 했.
How this differs from English
English "do" is mostly a grammatical helper — did you eat?, I do agree — but it rarely fuses with a noun to mean the activity itself. Korean 하다 does exactly that, wholesale: 공부를 하다 is literally "to do studying," and it is the ordinary word for "to study." The upside for the past tense is enormous. Where English memorizes a separate past for each verb (studied, worked, called, moved, started), Korean routes almost all of them through one irregular past, 했. Learn 했 and you have simultaneously learned the past of study, work, call, move, start, clean, love, decide, exercise, reserve, cancel, and thousands more. Few single facts in Korean pay off this widely.
Common Mistakes
1. Regularizing the past to ×하았어요. 하- takes 여, not 아, so the past can never be ×하았-. The fused form is 했.
❌ 어제 하루 종일 공부하았어요.
Wrong — 하- takes the 여 ending, so the past is 했, never ×하았-.
✅ 어제 하루 종일 공부했어요.
eoje haru jong-il gongbuhaesseoyo
I studied all day yesterday.
2. Using the un-contracted 하였 in everyday speech. 하였어요 is the historical un-fused form; it survives only in stiff literary or archaic writing. In normal speech and writing, always contract to 했어요.
❌ 어제 친구랑 전화하였어요.
Over-formal/literary — everyday Korean contracts this to 전화했어요.
✅ 어제 친구랑 전화했어요.
eoje chingurang jeonhwahaesseoyo
I called a friend yesterday.
3. Trying to inflect the noun instead of 하다. The tense belongs to 하다; the noun is frozen.
❌ 지난주에 이삿어요.
Wrong — you can't conjugate the noun 이사; keep 이사 and put the past on 하다: 이사했어요.
✅ 지난주에 이사했어요.
jinanjue isahaesseoyo
I moved last week.
4. Mismatching the level midstream. Pick 했어요 / 했습니다 / 했어 and stay consistent within a conversation; don't slide from a formal 했습니다 into a casual 했어 with the same listener.
✅ 오늘 발표 준비를 다 했습니다.
oneul balpyo junbireul da haetseumnida
I finished all the presentation prep today. (formal, consistent)
Key Takeaways
- The past of 하다 is 했: 해 (do) / 했 (did) / 할 (will do). Bank the trio like do / did / will do.
- Every 하다-compound inherits 했-: 공부했어요, 일했어요, 전화했어요, 이사했어요 — no per-verb memorization.
- The noun part never inflects; only 하다 carries tense (이사 stays, 하다 → 했다).
- Swap only the ending across levels: 했어요 / 했습니다 / 했어 — the stem 했 is fixed.
- Descriptive 하다-words behave identically: 조용했어요 = "was quiet."
- Never regularize to ×하았어요, and reserve the un-contracted 하였 for literary writing.
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
- 하다 → 해: 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 (공부해요, 사랑해, 시작해서).
- 하다 Verbs: The Most Productive Engine in KoreanTOPIK 1 — 하다 ('to do') attaches to a noun to build a verb or adjective — 공부하다, 일하다, 조용하다 — splitting into action verbs and descriptive verbs; it has one memorized conjugation (하 + 여 → 해) that thousands of words inherit.
- 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 ㅆ어요 — 가요→갔어요, 마셔요→마셨어요, 해요→했어요.
- Contractions in the Past (오다 → 왔어요, 마시다 → 마셨어요)TOPIK 1 — The past -았/었- attaches to the very same fused vowel-stem you already built for the present, so the contractions carry over intact — 와요 → 왔어요, 봐요 → 봤어요, 줘요 → 줬어요, 돼요 → 됐어요 — and you never conjugate the past from scratch.
- Past of Adjectives and the Copula (좋았어요, 학생이었어요/의사였어요)TOPIK 1 — Korean adjectives ARE verbs, so they take -았/었- and carry their own past — 좋았어요 already means 'was good,' with no separate 'was' word — while the copula 이다 forms its past off the noun's 받침: consonant + 이었어요, vowel + 였어요.