~まで and ~までに are both used with a time phrase and the difference is just one hiragana letter. However, their meanings have a rather large difference. ~まで is used for “until” and ~までに is used for “by (the time)” or “before.” But before comparing the two, let’s have a look at connections.
Connections
- [noun] (+ [particle]) まで(に)
(まで in this usage usually replaces particles は、が、を) - [plain form verb] まで(に)
Examples
The sentences in the picture:
はなこ:夕食まで日本語を勉強します。
= I will study Japanese (from now) until the dinner time.たろう:夕食までに日本語を勉強します。
= I will study Japanese some time between now and the dinner time.
So, Hanako is likely to study longer.
試合終了まで力を尽くした。
I tried my best until the end of the game.
試合終了までに力を尽くした。
I run out of puff before the end of the game.
まで and までに both can be used with a noun (phrase) or a clause with a plain non-past form verb.
母が帰ってくるまで宿題をします。
I will do my homework until Mum comes home.
母が帰ってくるまでに宿題をします。
I will do my homework before Mum comes home.目覚まし時計が鳴るまで夢を見ていた。
I was dreaming until the alarm went off.
目覚まし時計が鳴るまでに夢を見ていた。
I had a dream before the alarm went off.
For more study material for JLPT N4 exam, please visit JLPT N4 Grammar and Vocab and JLPT N4 Kanji pages.