てもとツール
ガイド

メールに添付すると容量が増える理由|送れる大きさは上限の約7割

メールの添付ファイルは、送るときにBase64という方法で文字に直されるため、大きさが約1.37倍になります。上限を変換後の大きさで数える送り先なら、送れるファイルは上限の約73%まで。25MBの上限なら約18.2MBです。計算の中身と、上限に近いときの送り方を説明します。

公開読了目安 約5分

この記事の要点

  • 添付ファイルは文字に直して送るので、大きさが約1.37倍になる
  • 1.37倍は「3バイトを4文字」と「76文字ごとの改行」を掛けた値
  • 上限を変換後の大きさで数える送り先なら、送れるのは上限の約73%まで
  • 上限を変換前と後のどちらで数えるかは、送り先の案内しだい
  • 上限に近いファイルは、縮めるか、共有のリンクで送るほうが確実
目次

メールに付けたファイルは、送るときに Base64 という方法で文字に直されます。 3バイトを4文字にし、さらに76文字ごとに改行を入れるので、大きさは約1.37倍になります。

上限を変換後の大きさで数える送り先なら、送れるファイルは上限の約73%までです。 上限が25MBなら、元のファイルで約18.2MBが目安になります。

この記事の倍率は計算で出し、実際のメールを組み立てて確かめました。 上限の数え方はサービスによって違うので、どこまで言えるかも分けて書きます。

メールは文字を送る仕組みなので、ファイルを文字に直す

メールはもともと、英数字などの文字だけを送るための仕組みです(RFC 5321)。 写真やPDFのようなファイルは、そのままでは中身を壊さずに送れません。

そこで、ファイルの中身を64種類の文字(英大文字・小文字・数字・+・/)で書き直します。 この書き直し方が Base64 で、メールの添付での使い方は RFC 2045 に決められています。

受け取った側のメールソフトは、文字を元のファイルに戻して見せます。 そのため、受け取ったファイルの大きさは元のままです。

3バイトを4文字にするので、まず4/3倍になる

Base64 の1文字は、64通りなので6ビットぶんの情報を運びます。 ファイルの3バイト(24ビット)は、ちょうど4文字(6ビット×4)になります。

1バイトの文字1つが、元の0.75バイトぶんしか運べない計算です。 そのため、大きさは4÷3で約1.33倍になります。

最後に3バイトに満たない端数が残ったときは、= を足して4文字にそろえます。 増えるのは最後の数文字だけなので、大きなファイルの倍率はほぼ変わりません。

76文字ごとの改行で、さらに約2.6%増える

RFC 2045 は、Base64 に直した文字を1行76文字以内で書くよう決めています。 メールの改行は、CR と LF の2文字で1つです。

そのため、76文字ごとに2文字ずつ増え、78÷76で約1.026倍になります。 4/3倍と掛け合わせると、約1.37倍です。

4 ÷ 3 × 78 ÷ 76 = 1.368…

Python 3.13 の標準のメール作成機能(email パッケージ)で、1,000万バイトのファイルを添付して確かめました。 送るときの形(改行が CR と LF)で書き出すと、メール全体は13,684,729バイトでした。

計算で出る約1.368倍と、ほぼ同じ大きさです。 差の数百バイトは、宛先や件名などの見出しと本文の分です。

上限から逆算した、送れるファイルの大きさ

上限を変換後のメールの大きさで数える送り先では、上限を1.368で割った値が、送れるファイルの大きさの目安です。 割ると、上限の約73%になります。

上限送れる大きさ
10MB約7.3MB
20MB約14.6MB
25MB約18.2MB

表の値は、見出しや本文の分を除き、小数第2位を切り捨てた目安です。 添付が複数あるときは、変換後の合計で上限に効きます。

上限を変換前と後のどちらで数えるかは送り先しだい

メールのサーバーどうしでは、送る前に大きさを伝え合う決まりがあります(RFC 1870)。 この大きさは、送る形になったメール全体のバイト数です。

つまり、サーバーが比べるのは変換後の大きさです。 一方で、メールソフトの画面に出る「上限 25MB」が、変換前と後のどちらの話かは書かれていないことがあります。

たとえば Gmail のヘルプは、添付ファイルを「最大 25 MB」まで送れると書いています(2026年10月23日に確認)。 変換後の大きさで数えるかどうかには、触れていません。

自分の目で倍率を確かめる

Base64エンコード・デコード にテキストを入れると、入力のバイト数と変換後の文字数が並びます。 「あいうえお」を20回くり返した100文字(300バイト)なら、400文字で133%と出ます。

詳細設定の「改行あり(76文字ごと折り返し、MIME準拠)」を選ぶと、405文字で135%です。 このツールの改行は LF の1文字なので、メールの改行(2文字)より少し小さく出ます。 改行を2文字で数えると410文字で、137%になります。

上限に近いファイルを送るときの選び方

元のファイルが上限の約73%を超えると、変換後で数える送り先では上限を超えます。 そのくらいの大きさなら、次のどれかに切り替えるほうが確実です。

  • 写真を縮める: 画面で見るだけなら、縦横のピクセル数を減らすと大きく減ります。手順は メール添付で画像を軽くするリサイズ術 にまとめています。
  • 分けて送る: 1通あたりの合計を、上限の7割より下に収めます。
  • 共有のリンクで送る: ファイルを置いた場所のリンクだけを送れば、メールの大きさはほぼ増えません。

関連記事

まとめ

添付ファイルは Base64 で文字に直して送るので、大きさが約1.37倍になります。 4/3倍に、76文字ごとの改行の分が掛かった値です。

上限を変換後で数える送り先なら、送れるファイルは上限の約73%までです。 ぎりぎりのファイルは、縮めるか、リンクで送ると戻ってくる心配が減ります。

参考・出典

本記事は上記の公的機関・公式情報源を参考にしています。最新の情報は各リンク先をご確認ください。

あわせて読みたい

同じテーマ・関連ツールの記事です。