BUDLING
All grammar topics
Share

Past Perfect

1 min
B2
CEFR B2·tenses
Time frame
before another past event
PastNowFuture

Formula

I / You / He / She / It / We / They
had

Examples

Positive
When I arrived, she had already left.
Negative
He had not studied enough for the exam.
Question
Had they finished the project before the deadline?

Common Time Markers

already
before
by the time
after

Usage

  • Action completed before another action in the past
  • Showing sequence of past events
  • Results or consequences of past actions

More Examples

  • By the time we got there, the film had already started.

    "by the time" signals the sequence clearly

  • She was tired because she hadn't slept well.

    Past reason for a past result

  • He realised he had forgotten his wallet.

    Realisation of an earlier past action

  • Had you ever visited Tokyo before your trip last year?

    Life experience up to a past point

Common Mistakes

  • ❌ "When I arrived, she already left" → ✓ "she had already left" (need had + past participle)
  • ❌ "I had went to school" → ✓ "I had gone to school" (use past participle, not past simple)
  • ❌ Overusing past perfect: if the sequence is clear from "then/after", past simple alone may be fine

Tips

  • Think of Past Perfect as "the past of the past" — it goes one step further back.
  • Often used with "after", "before", "by the time", "when", and "already".

Advanced Notes

Past Perfect is often optional when "before" or "after" already make the sequence clear ("After he left, I arrived" vs "After he had left, I arrived" — both correct). Native speakers drop it more than textbooks suggest. It becomes obligatory when the sequence is ambiguous or when the earlier action's result explains the later situation ("She was angry because he had lied to her"). In reported speech, it appears frequently as the backshifted form of Present Perfect and Simple Past. A common learner error is overusing it — if "when" clauses already establish timeline, Simple Past is often preferable.

Quiz loads as you scroll…

Compare With