100 MB PDF File — Sample Download, Exact Size
A valid 100 MB sample PDF of exactly 104,857,600 bytes, built in your browser: free, no sign-up, nothing uploaded. Shows which upload limits it meets.
Last updated:
A 100 MB PDF is 104,857,600 bytes, and that number is the whole point of this page: Cloudflare's upload limit on its Free and Pro plans is written as 100 MB, and this file is 100 MB counted the binary way, 4,857,600 bytes more than 100 MB counted the decimal way. Press the button to build it on your device and find out which reading your setup uses.
This is a big file for a browser tab: it is built in memory, so on a phone or an older laptop close other tabs first.
Built on your device in a moment: nothing is uploaded, and no file is hosted. A different size, another file type or a PDF with several pages: test file generator.
The exact file
| Size | 100 MB (1 KB counted as 1,024 bytes) |
|---|---|
| Exact length | 104,857,600 bytes |
| In decimal megabytes | 104.858 MB |
| As base64, as sent inside JSON | 139,810,136 bytes |
| Pages | 1 (the rest is unused data that readers skip) |
| Saved as | test-file-100mb.pdf |
Right on a limit that does not say which megabyte
Cloudflare's documentation states the Free and Pro limit as 100 MB without saying whether that is 100,000,000 or 104,857,600 bytes. This file is the larger. If it uploads, the limit counts the binary way, and if it is rejected, the decimal way, though a few extra bytes of headers can tip a file that is exactly on the line either way. It is a useful test whenever a limit is quoted in MB without a definition.
Will a 100 MB PDF pass these upload limits?
| Limit | Written as | This file |
|---|---|---|
| Express body-parser (default)the largest request body its JSON and form parsers accept. Express body-parser documentation | 100kb | Over: rejected unless the limit is raised |
| nginx (default)the largest request body nginx passes on; a bigger one gets a 413 error. nginx core module documentation | client_max_body_size 1m | Over: rejected unless the limit is raised |
| PHP upload_max_filesize (default)the largest single uploaded file. PHP manual, core php.ini directives | 2M | Over: rejected unless the limit is raised |
| PHP post_max_size (default)the largest whole POST request, all fields and files together. PHP manual, core php.ini directives | 8M | Over: rejected unless the limit is raised |
| Gmail attachments (personal accounts)the largest total size of attachments on a message. Gmail Help, send attachments | 25 MB | Over: rejected unless the limit is raised |
| Cloudflare upload limit (Free and Pro plans)the largest request body Cloudflare passes to your site. Cloudflare support docs, error 413 | 100 MB | Borderline: depends on whether MB means 1,000,000 or 1,048,576 bytes |
Each limit is the default or documented figure from the source named beside it. Your own server or plan may differ, and an upload is a request that carries headers as well as the file, which the "right at the limit" verdict allows for.
A very long upload
At 5 Mbps the file takes about 2 min 48 s to send, at 20 Mbps about 42 seconds and at 100 Mbps about 8.4 seconds. Use it to test the behaviour no small file shows: a connection that drops part way, a laptop that goes to sleep, a session that expires mid-upload.
How long does a 100 MB upload take?
| Connection | Time to send 104,857,600 bytes |
|---|---|
| 5 Mbps | 2 min 48 s |
| 20 Mbps | 42 s |
| 100 Mbps | 8.4 s |
Best case: bytes times eight, divided by the speed in megabits per second, ignoring protocol overhead and the connection's ups and downs.
How the page builds it
The 104,857,600 bytes are assembled in your browser's memory in chunks of 1 MiB, a few seconds of work on a laptop. A phone may struggle, since it needs room for the whole file, so on a phone close other tabs first, or build the file on a computer. The most this site makes in one go is 200 MiB.
Frequently asked questions
- How do I download a 100 MB PDF file?
- Press the download button on this page. Your browser builds a valid PDF of exactly 104,857,600 bytes in a moment and saves it as test-file-100mb.pdf. Nothing is uploaded and no file is hosted, so there is no link to copy: the file exists only on your device.
- Is the Cloudflare limit 100,000,000 or 104,857,600 bytes?
- Cloudflare's support documentation says 100 MB for the Free and Pro plans and does not say which. A file of exactly 104,857,600 bytes is the way to find out for your own zone, and a file of 100,000,000 bytes, which you can make in the test file generator with the 1,000-byte setting, is the safe size under either reading.
- Can I make a PDF larger than 100 MB here?
- Up to 200 MiB (209,715,200 bytes), using the test file generator. Beyond that a browser tab runs short of memory. For bigger files on a computer, fsutil file createnew on Windows or dd on macOS and Linux makes a file of any size, though not a valid PDF.
- Is it safe to build a 100 MB file in the browser?
- Yes, nothing is uploaded and nothing is stored: the file exists only in your browser until you save it. The risk is memory, not security, so on a phone or a machine with little free memory, close other tabs or build it elsewhere.