Swedish has two ways to talk about the past, and choosing between them works almost exactly like English — which is good news, because the rule transfers. The preteritum (simple past) — åt, "ate" — anchors an event to a definite past time: a specific, finished moment, usually flagged by a time word like igår ("yesterday"). The perfect — har ätit, "have eaten" — leaves the time indefinite, and instead links the past to the present: an experience, a result that still matters, a "so far." The mistakes learners make are the same ones English speakers already avoid in their own language — they've just forgotten the rule applies here too. This page makes it explicit.
Preteritum: a definite, finished past time
Use the preteritum when the event happened at a specific, completed point in the past — and especially when a time adverbial names that point: igår (yesterday), förra året (last year), 1999, i måndags (last Monday), för tre timmar sedan (three hours ago).
Igår åt jag fisk till middag.
Yesterday I ate fish for dinner. A specific finished time (igår) → preteritum: åt.
Jag reste till Spanien förra året.
I travelled to Spain last year. Definite past time (förra året) → preteritum: reste.
Vi köpte huset 2015 och flyttade in på sommaren.
We bought the house in 2015 and moved in over the summer. Dated, finished events → preteritum throughout.
The mental picture: the preteritum closes the event off in a known slot in the past. It's done, it happened then, and you're reporting it as history. This is the default for narrating what happened.
Perfect: indefinite time, present relevance, experience
Use the perfect (har + supine) when you are not pinning the event to a specific past moment, and instead you care about its connection to now. Three typical jobs:
- Experience / "ever" / "many times": the event has happened at some unspecified point in your life.
- Present relevance / result: the past action matters because of its effect now.
- "So far" / "up to now": within a period still open.
Jag har ätit fisk många gånger, men aldrig hummer.
I've eaten fish many times, but never lobster. Experience, no specific time → perfect: har ätit.
Jag har varit i Spanien.
I've been to Spain. An experience ('at some point in my life') → perfect: har varit.
Har du ätit? — Ja, tack, jag är mätt.
Have you eaten? — Yes, thanks, I'm full. The question is about your present state (are you fed now?), not a specific time → perfect.
That last one is the clearest illustration of "present relevance." Har du ätit? doesn't ask when you ate; it asks whether you're currently in the state of having-eaten — i.e. are you hungry right now. Swap to the preteritum (Åt du?) and you'd be asking about a specific past occasion, which is a different question.
The decisive rule: a definite past time forces the preteritum
Here is the single most useful rule on this page, and the one that fixes the most errors:
A definite past-time adverbial (igår, förra året, 1999, i måndags…) blocks the perfect and forces the preteritum.
You cannot say Jag har rest igår — and the reason is identical to why English forbids "I have travelled yesterday." A finished time word and the perfect are incompatible: the perfect insists the time is open/indefinite, while igår slams it shut to a specific day. They contradict each other.
❌ Jag har ätit fisk igår.
Incorrect — igår is a definite finished time, which is incompatible with the perfect (just like English 'I have eaten yesterday').
✅ Jag åt fisk igår.
I ate fish yesterday. Definite time → preteritum.
Jag har ätit fisk. — När då? — I går.
I've eaten fish. — When? — Yesterday. The moment a definite time appears, you'd recast it as 'Jag åt fisk igår.'
Because this rule mirrors English so closely, the time-adverbial test is your safeguard: is there a word locating this in a specific, finished past time? If yes → preteritum. If the time is unspecified, open, or beside the point → the perfect is available.
Jag har bott i Lund i tre år. (still living there)
I've lived in Lund for three years. The period is still open (I'm still there) → perfect. Contrast: 'Jag bodde i Lund i tre år' = and I've since moved away.
That contrast is worth keeping: har bott (and I still live here) vs bodde (and that chapter is closed). The perfect keeps the situation connected to now; the preteritum seals it in the past.
A complication English shares: the "have you done X yet" pull
Going the other direction, learners sometimes use the preteritum where present-relevant Swedish wants the perfect — especially with "yet / already / not yet."
Har du gjort klart rapporten än?
Have you finished the report yet? Present relevance ('is it done as of now?') → perfect, with än ('yet').
Jag har redan bokat biljetterna.
I've already booked the tickets. 'Already', result holds now → perfect.
If you'd use the perfect in English ("have you... yet", "I've already..."), use it in Swedish too. The two languages line up here.
A quick word on form (so you can produce both)
The preteritum is a single word; the perfect is har + the supine (the -it / -t form). Don't confuse the supine with the past participle.
| Infinitive | Preteritum | Perfect (har + supine) |
|---|---|---|
| äta (eat) | åt | har ätit |
| resa (travel) | reste | har rest |
| köpa (buy) | köpte | har köpt |
| vara (be) | var | har varit |
| göra (do/make) | gjorde | har gjort |
Jag gjorde det igår, så nu har jag gjort allt jag skulle.
I did it yesterday, so now I've done everything I was supposed to. gjorde (definite past, igår) vs har gjort (present result).
Common Mistakes
❌ Jag har rest till Spanien förra året.
Incorrect — förra året is a definite finished time, which blocks the perfect.
✅ Jag reste till Spanien förra året.
I travelled to Spain last year. Definite time → preteritum.
❌ Igår har jag träffat henne.
Incorrect — igår forces the preteritum; the perfect can't take a definite past time.
✅ Igår träffade jag henne.
Yesterday I met her. Definite time → preteritum.
❌ Gjorde du klart rapporten än? (for 'yet?')
Wrong nuance — 'yet?' asks about the present result, which wants the perfect.
✅ Har du gjort klart rapporten än?
Have you finished the report yet? Present relevance → perfect.
❌ Åt du redan? (intending 'are you fed now?')
Wrong nuance — this asks about a specific past occasion. For 'are you fed now?' use the perfect.
✅ Har du ätit redan?
Have you eaten already? Present state → perfect.
❌ Jag har ätit fisk i tisdags.
Incorrect — i tisdags ('last Tuesday') is a definite time and blocks the perfect.
✅ Jag åt fisk i tisdags.
I ate fish last Tuesday. Definite time → preteritum.
Key Takeaways
- preteritum (åt) = a definite, finished past time, usually with a time word (igår, förra året, 1999). The default for narrating what happened.
- perfect (har ätit) = indefinite time, experience ("many times"), or present relevance ("Har du ätit?" = are you fed now?).
- The decisive rule: a definite past-time adverbial forces the preteritum and blocks the perfect — exactly like English (*I have eaten yesterday). Use the time-adverbial test.
- Conversely, "have you done X yet / I've already done X" wants the perfect, just as in English.
- Form: preteritum is one word; the perfect is har
- supine (the -it/-t form).
Now practice Swedish
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Swedish→Related Topics
- The Past Tense (Preteritum): OverviewA2 — Preteritum is the simple past — the narrative tense for completed, time-anchored events (Igår åkte jag till Stockholm). It needs no auxiliary, unlike the perfect, and lines up neatly with the English simple past. This page maps its uses and previews the four-group formation, leaving the endings to the per-group pages.
- The Perfect Tense (har + supine)A2 — The perfect (perfekt) is har + the SUPINE: har talat, har skrivit, har köpt. It covers present relevance, indefinite past time, life experiences and just-completed actions. Two facts spare English speakers grief: the auxiliary is ALWAYS ha — there's no 'be'-perfect for motion verbs as in German/French — and the supine is an invariable form distinct from the agreeing past participle.
- The Pluperfect (hade + supine)B1 — The pluperfect (pluskvamperfekt) is hade + supine — the 'past behind the past'. It marks an event already complete before another past event: När jag kom hade de redan ätit ('When I arrived they had already eaten'). It's the workhorse of narration and reported speech, mirrors the English past perfect, and — uniquely useful — doubles as the counterfactual past in conditionals: Om jag hade vetat det... ('If I had known that...').
- Time ExpressionsA2 — How Swedish locates events in time: parts of the day (på morgonen, i kväll), relative days (igår, idag, imorgon, i förrgår, i övermorgon), the elegant i-bare vs i-s system that marks a coming vs past part of today (i kväll vs i morse), and duration (i fem år). The standout puzzle is i natt — one phrase that means 'tonight' or 'last night' depending entirely on the verb tense.