までに marks a time limit. The action can happen at any time before that point, but not after it. It is used with actions that are done once and finished, so it is very common in requests, rules and plans: 〜までに出してください, 〜までに返さなければなりません. Before a verb, use the dictionary form even when the sentence is about the past.
§1Structure
Noun (time or event) + までに、 Verb dictionary form + までに. The main clause is a one-time action that gets completed, such as 出す, 返す, 帰る, 着く or 終わる.
§2Examples
レポートは金曜日までに出してください。
レポートはきんようびまでにだしてください。
Please hand in your report by Friday.
5時までに帰ります。
ごじまでにかえります。
I will be back by five o'clock.
お客さんが来るまでに、部屋を掃除しておきます。
おきゃくさんがくるまでに、へやをそうじしておきます。
I will clean the room before the guests come.
何時までに空港に着かなければなりませんか。
なんじまでにくうこうにつかなければなりませんか。
By what time do I have to arrive at the airport?
図書館の本は来週の月曜日までに返さなければならない。
としょかんのほんはらいしゅうのげつようびまでにかえさなければならない。
I have to return the library books by next Monday.
昨日は忙しくて、9時までに家に帰れませんでした。
きのうはいそがしくて、くじまでにいえにかえれませんでした。
I was busy yesterday and couldn't get home by nine.
30歳になるまでに、自分の店を持ちたいです。
さんじゅっさいになるまでに、じぶんのみせをもちたいです。
I want to have my own shop by the time I turn thirty.
「この宿題、いつまでに出すの?」「金曜日までに出せばいいよ。」
「このしゅくだい、いつまでにだすの?」「きんようびまでにだせばいいよ。」
"By when do we hand in this homework?" "You just need to hand it in by Friday."
§3Common mistakes
- Using まで for a deadline. 金曜日まで出してください is wrong, because 出す is a one-time action and まで needs an action that continues. For a deadline, add に: 金曜日までに出してください.
- Using までに with an action or state that continues. 5時までに待ちます and 12時までに寝ていました are wrong. Waiting and sleeping last up to that time, so use まで: 5時まで待ちます / 12時まで寝ていました.
- Putting the verb before までに in the た-form. 母が帰ったまでに、料理を作りました is wrong. Use the dictionary form even for the past, and show the past tense at the end: 母が帰るまでに、料理を作りました.
§4How it's different from similar grammar
- まで (until, continuing up to a point)
- まで shows the end point of something that continues: 3時まで図書館にいます (I will stay in the library until three, the whole time). までに shows a limit for a one-time action: 3時までに図書館へ行きます (I will go to the library at some time before three). So verbs like 待つ, いる, 働く and 寝る go with まで, and verbs like 出す, 返す, 着く and 決める go with までに.
- あいだに (at some point within a period)
- Both go with a one-time, completed action. までに comes after a point in time, the limit: 日曜日の夜までに、旅行の準備をします (I will get ready for the trip by Sunday night). あいだに comes after a period, and the action happens inside it: 休みのあいだに、旅行の準備をします (I will get ready for the trip during the holiday).
§5How this shows up on the JLPT
The choice between まで and までに is one of the most frequent particle questions at N4. Look at the verb at the end: a continuing verb (待つ, いる, 勉強している) takes まで, and a one-time verb (出す, 返す, 帰る, 着く, 〜ておく, 〜てしまう) takes までに. Requests and duties such as 〜てください and 〜なければなりません are strong signs of までに. In listening and information-search reading, までに tells you the deadline for applications, payments and returns, so read the date carefully.
§6Quick check (3 questions)
1. Choose the word that fits the blank: この作文は来週の水曜日__出さなければなりません。
このさくぶんはらいしゅうのすいようび__ださなければなりません。
2. Which sentence uses まで / までに correctly?
3. A teacher says 8時までに来てください. What should the students do?
はちじまでにきてください