Documents · HTML

A 3 MB HTML file, on demand.

Exactly 3,145,728 bytes of a complete HTML5 document that renders in a browser, built on your machine the moment you press the button.

0bytes
Exact size

3,145,728 bytes, exactly.

Every byte above the 189 bytes structural minimum goes into an HTML comment, which is why this file still behaves like one a real user would send.

Unit convention

3 MB on this page means exactly 3,145,728 bytes, using the binary (MiB) convention some systems label "MB" for short. 1 MB in the strict decimal sense is 1,000,000 bytes; 1 MiB is 1,048,576 bytes — the readout above always shows the exact count either way.

Approximate size equivalents

Roughly 1,748 pages of typed text, 3 minutes of 128 kbps audio, 18 seconds of CD-quality audio, 1.3 photo from a 12 MP camera. These figures compare file size only — the generated file does not contain this text, audio or image content.

Accepted by

Discord free attachment, AWS API Gateway payload, Outlook.com attachment — all publish a limit at or above this size, based on commonly cited figures that can vary by plan and change over time.

Rejected by

PHP default upload_max_filesize — this exceeds their commonly cited limit, which makes it a useful negative test. Published limits can vary by plan and change over time.

Other HTML sizes

Default limits start biting here: PHP ships with a 2 MB cap, and many form builders stop at 5 MB.

Questions.

Is this 3 MB HTML file valid?

Yes. It is a complete HTML5 document that renders in a browser. The extra bytes sit in an HTML comment, so it opens in Chrome, Firefox, Safari and Edge.

Does 3 MB mean 3,145,728 bytes?

On this page, yes — 3 MB uses the binary (MiB) convention, so the file is exactly 3,145,728 bytes. 1 MB in the strict decimal sense would be a different, smaller byte count. Upload validators may use either convention, so the exact byte count is always shown to remove any ambiguity.

What is a 3 MB file used for?

Default limits start biting here: PHP ships with a 2 MB cap, and many form builders stop at 5 MB. For HTML specifically, the usual job is testing page-weight budgets and HTML upload handling.

Where is the file downloaded from?

Nowhere. It is assembled in a Web Worker on your own device and handed to the browser as a Blob, so nothing is uploaded, fetched or stored.