「〜まで」を表す by / until の違い・使い分け

どちらも「〜まで」ですが、意味が違います。 by は「その時までに(1回)終わらせる」期限、until は「その時までずっと」続く動作や状態を表します。

使い分け早見表
単語使い方
by〜までに(期限、1回きりの動作)
until〜までずっと(継続する動作・状態)

by を使うとき

finish、submit、arrive のように「1回で完了する動作」と組み合わせて、「その時までに終わらせる」という期限を表します。 期限より早く終わってもかまいません。

例文

Please finish your homework by 8 o'clock.

8時までに宿題を終わらせてください。

I'll be back by noon.

正午までには戻ります。

until を使うとき

wait、stay、study のように「続けている動作・状態」と組み合わせて、「その時までずっと続く」ことを表します。 その時が来るまで動作が止まりません。

例文

I'll wait here until you come back.

あなたが戻るまでここで待っています。

We stayed at the library until 6 o'clock.

私たちは6時まで図書館にいました。

間違えやすいポイント

Please finish your homework until 8 o'clock.

Please finish your homework by 8 o'clock.

finish(終わらせる)は1回で完了する動作なので、継続を表す until ではなく期限を表す by を使います。

I'll wait here by you come back.

I'll wait here until you come back.

wait(待ち続ける)は継続する動作なので、期限を表す by ではなく until を使います。

We stayed at the library by 6 o'clock.

We stayed at the library until 6 o'clock.

「6時まで(ずっと)いた」という継続を表すには until が必要です。by だと「6時までに(一瞬でも)いた」という不自然な意味になります。