“〜ta hou ga yokatta・〜beki datta”: Should Have / Ought to Have (past regret) [JLPT N2]
Content by NTJ Kuma · Nihongo to Japan editorial team · Updated July 27, 2026
「早く出たほうがよかった」「確認するべきだった」 — hindsight regret, softer or with self-blame.
「あの時、予約しておけばよかった」 — I should have …, looking back with regret
After queuing three hours, you sigh: 「早く予約しておけばよかった」 (I should have booked early) — 「〜たほうがよかった/〜べきだった」 expresses regret about the past: “(back then) ~ would have been better, I should have ~ (but didn't).” This guide covers these two “past regret” patterns' difference and attachment, separating them from the duty 「べきだ」 (N2).
Core: (back then) ~ would have been better/should have ~ (regret at not doing)
This set expresses the regret of “looking back, feeling I should have done that (but didn't)”:
- verb た-form + ほうがよかった = (back then) ~ would have been better (regret at not doing it): もっと早く家を出たほうがよかった (I should have left home earlier).
- verb dictionary form + べきだった = should have ~ (regret at not doing, with self-reproach): あの時、彼に謝るべきだった (I should have apologized to him back then).
Feel: “I should have …/should've …” — the core is regret about the past: the matter is over, and looking back you feel “I should have done that.” 「たほうがよかった」 is flatter (that would've been better); 「べきだった」 carries the self-reproach, ought of “by principle I should have,” a heavier tone. The negative 「〜なければよかった = I should not have …」 (regret at having done).
Forms & attachment
| Form | Meaning | Example |
|---|---|---|
| verb た-form + ほうがよかった | (back then) ~ would have been better | 予約したほうがよかった (I should have booked) |
| verb dictionary form + べきだった | should have ~ (with self-reproach) | 勉強すべきだった (I should have studied) |
| 〜ばよかった | I should have ~ (regret at not doing) | 行けばよかった (I wish I had gone) |
| 〜なければよかった | I should not have ~ (regret at having done) | 言わなければよかった (I wish I hadn't said it) |
Example sentences
- こんなに並ぶなら、予約しておくべきだった。(If it means queuing this long, I should have booked ahead.)
- あの株、買っておいたほうがよかったなあ。(That stock — I should have bought it, huh.)
- 若いうちに、もっと旅行しておけばよかった。(I should have traveled more while young.)
- あんなこと、言わなければよかった。(I shouldn't have said such a thing.)
- もっと早く医者に行くべきだったと後悔している。(I regret that I should have seen a doctor sooner.)
⚠️ Easy traps to avoid
① 「べきだった」 (past regret) ≠ 「べきだ」 (present duty/should). The same 「べき」, different tense, different meaning. べきだ = ought to ~ (present, ‘should do' by principle; see 〈べき〉) (約束は守るべきだ = one ought to keep promises — a present principle); べきだった = should have ~ (past, regret at ‘not having done it back then') (謝るべきだった = I should have apologized — looking back with regret). For “(now) should …” use べきだ, for “(back then) should have … (but didn't, regret)” use べきだった. Adding 「た」 turns “an ought principle” into “regret about the past.”
② 「たほうがよかった」 vs 「べきだった」 differ in self-reproach. Both express past regret, with different tone. たほうがよかった = (back then) ~ would have been better (flatter, just feeling it would've been better) (傘を持ったほうがよかった = I should have brought an umbrella); べきだった = should have ~ (with the self-reproach, ought of ‘by principle I should have,' a heavier tone) (もっと注意すべきだった = I should have been more careful — with stronger self-reproach). For a light “that would've been better” use たほうがよかった; for “(I) should have … (self-reproach)” use べきだった.
③ 「〜ばよかった」 (regret at not doing) vs 「〜なければよかった」 (regret at having done) are opposite. 〜ばよかった = I should have ~ (regret at ‘not having done' something) (勉強すればよかった = I should have studied — regret at not studying); 〜なければよかった = I should not have ~ (regret at ‘having done' something) (食べすぎなければよかった = I shouldn't have overeaten — regret at eating). One regrets “not doing,” one “having done” — don't reverse them: regret at wanting-to-but-didn't uses 「ば」, regret at having-done uses 「なければ」.
🔄 Compare: たほうがよかった/べきだった/ばよかった/なければよかった
| Form | Feel | Example |
|---|---|---|
| 〜たほうがよかった | (back then) ~ would have been better (regret at not doing, flatter) | 予約したほうがよかった (I should have booked) |
| 〜べきだった | should have ~ (regret at not doing, self-reproach/ought) | 謝るべきだった (I should have apologized) |
| 〜ばよかった | I should have ~ (regret at not doing) | 行けばよかった (I wish I had gone) |
| 〜なければよかった | I should not have ~ (regret at having done) | 言わなければよかった (I wish I hadn't said it) |
💡 The one thing to remember
「〜たほうがよかった/〜べきだった」 both express regret about the past (looking back, feeling I should have done that but didn't). Three points: ① 「べきだった」 ≠ 「べきだ」 — adding 「た」 makes it past, turning “(now) should” into “(back then) should have … (regret)” (see 〈べき〉); ② they differ in self-reproach — たほうがよかった is flatter (would've been better), べきだった carries the self-reproach “I should have”; ③ 「ばよかった」 (regret at not doing) vs 「なければよかった」 (regret at having done) are opposite — don't confuse them. For the regret “I should have …,” this set is the most vivid. For “(now) should do …,” use the present 〈べき〉.
❓ Questions you might have
Q: What's the difference between 「べきだ」 and 「べきだった」?
Tense and tone: one is “(now) should,” one “(back then) should have … (regret).” 「〜べきだ」 = ought to ~, should ~ (present, asserting ‘should do' by principle; see 〈べき〉): 学生は勉強すべきだ (students ought to study — a present principle); 間違ったら謝るべきだ (if you're wrong, you should apologize — the ought of principle). It states “(generally/now) it's right to.” 「〜べきだった」 = should have ~ (past, expressing the regret, self-reproach of ‘I should have done that back then, but didn't'): あの時、もっと慎重に考えるべきだった (I should have thought more carefully back then — regret at not doing so); 彼の忠告を聞くべきだった (I should have listened to his advice). It says “(looking back) I should have done that, alas I didn't,” with regret, self-reproach. Test: for “(now/generally) should …” → べきだ; for “(back then) should have … (didn't, regret)” → べきだった. Adding 「た」 makes the tense past, turning “an ought principle” into “regret about the past.” So 「勉強すべきだ」 = (now) should study; 「勉強すべきだった」 = (back then) should have studied (regret at not). (べき's present-duty use: see 〈べき〉.)
Q: I keep confusing 「〜ばよかった」 and 「〜なければよかった」 — how do I remember?
Remember one regrets ‘not doing,' the other ‘having done' — exactly opposite. 「〜ばよかった」 = I should have ~ (regret at ‘not having done' something, wishing you had): もっと早く起きればよかった (I should have gotten up earlier — regret at not); あの時告白すればよかった (I should have confessed back then — regret at not); 勉強しておけばよかった (I should have studied — regret at not). It's “if only I had (done) it,” regretting not doing. 「〜なければよかった」 = I should not have ~ (regret at ‘having done' something, wishing you hadn't): あんなに食べなければよかった (I shouldn't have eaten so much — regret at eating); 余計なことを言わなければよかった (I shouldn't have said too much — regret at saying); あの人と付き合わなければよかった (I shouldn't have dated that person — regret at dating). It's “if only I hadn't (done) it,” regretting having done. Memory aid: 「〜ば」 = if only I had (done), it'd be better (regret at not doing); 「〜なければ」 = if only I hadn't (done), it'd be better (regret at having done). By whether you regret “not doing” or “having done” — not doing uses 「ば」, having done uses 「なければ」. Trick: if it's something you wanted to but didn't, use 「ばよかった」; if it's something you did but regret, use 「なければよかった」.
🖊️ Practice Questions (5)
Q1. 「渋滞した。もっと早く___。」(should have left earlier)
(A) 出たほうがよかった (B) 出るほうがいい (C) 出よう (D) 出るだろう
Q2. 「ちゃんと確認する___。」(should have confirmed — self-reproach)
(A) べきだった (B) べきだ (C) はずだ (D) ものだ
Q3. What does 「聞いておくべきだった」 mean?
(A) Should have asked earlier (but didn't — regret/self-reproach)
(B) Should ask now
(C) No need to ask
(D) Already asked
Q4. What is the difference between 「たほうがよかった」 and 「べきだった」?
(A) たほうがよかった = regret after comparing; べきだった = carries stronger duty/reproach
(B) They are exactly the same
(C) たほうがよかった = advice for the future
(D) べきだった = present obligation
Q5. Which connection is correct?
(A) 早く謝るべきだった。 (B) 早く謝ったべきだった。
(C) 早く謝るほうがよかった(た形が自然)。 (D) 早く謝りべきだった。
Answer Explanations
1. (A) 出たほうがよかった ── Should have left earlier.
2. (A) べきだった ── Should have confirmed (self-reproach).
3. (A) ── Should have asked earlier (regret).
4. (A) ── たほうがよかった regret; べきだった carries reproach.
5. (A) ── べきだった attaches to the dictionary form (謝るべきだった).