Use case · 36 files

Test file upload limits

Upload forms fail in predictable ways: files just over the limit, empty files, and files whose extension doesn’t match their content. These files let you test each boundary. Sizes use binary units (1 MB = 1,048,576 bytes), and the size-targeted media files land just under their label.

Download all with curl
Download 36 files (1.8 GB)Shell
# 36 files, 1.8 GB in total
while read -r url; do curl -LO --fail "$url"; done <<'EOF'
https://files.samplefiles.com/large-files/bin/sample-1mb.bin
https://files.samplefiles.com/large-files/bin/sample-10mb.bin
https://files.samplefiles.com/large-files/bin/sample-25mb.bin
https://files.samplefiles.com/large-files/bin/sample-50mb.bin
https://files.samplefiles.com/large-files/bin/sample-100mb.bin
https://files.samplefiles.com/large-files/bin/sample-250mb.bin
https://files.samplefiles.com/large-files/bin/sample-500mb.bin
https://files.samplefiles.com/image/jpg/sample-100kb.jpg
https://files.samplefiles.com/image/jpg/sample-500kb.jpg
https://files.samplefiles.com/image/jpg/sample-1mb.jpg
https://files.samplefiles.com/image/jpg/sample-2mb.jpg
https://files.samplefiles.com/image/jpg/sample-5mb.jpg
https://files.samplefiles.com/image/jpg/sample-10mb.jpg
https://files.samplefiles.com/image/jpg/sample-20mb.jpg
https://files.samplefiles.com/video/mp4/sample-1mb.mp4
https://files.samplefiles.com/video/mp4/sample-5mb.mp4
https://files.samplefiles.com/video/mp4/sample-10mb.mp4
https://files.samplefiles.com/video/mp4/sample-50mb.mp4
https://files.samplefiles.com/video/mp4/sample-100mb.mp4
https://files.samplefiles.com/document/pdf/sample-1mb.pdf
https://files.samplefiles.com/document/pdf/sample-5mb.pdf
https://files.samplefiles.com/document/pdf/sample-10mb.pdf
https://files.samplefiles.com/document/pdf/sample-25mb.pdf
https://files.samplefiles.com/video/mp4/sample-250mb.mp4
https://files.samplefiles.com/video/mp4/sample-500mb.mp4
https://files.samplefiles.com/edge-cases/empty/zero-byte.jpg
https://files.samplefiles.com/edge-cases/empty/zero-byte.pdf
https://files.samplefiles.com/edge-cases/empty/zero-byte.mp4
https://files.samplefiles.com/edge-cases/empty/zero-byte.csv
https://files.samplefiles.com/edge-cases/mislabeled/html-named.jpg
https://files.samplefiles.com/edge-cases/mislabeled/png-named.jpg
https://files.samplefiles.com/edge-cases/mislabeled/pdf-named.docx
https://files.samplefiles.com/edge-cases/mislabeled/sample.php.jpg
https://files.samplefiles.com/edge-cases/mislabeled/UPPERCASE.JPG
https://files.samplefiles.com/edge-cases/mislabeled/r%C3%A9sum%C3%A9%20%E6%96%87%E4%BB%B6%20%281%29.pdf
https://files.samplefiles.com/edge-cases/mislabeled/long-file-name-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt
EOF

Exact-size binary files

Random data at byte-exact sizes. It doesn’t compress, so the transfer size matches the file size.

FileSizeDetailsDownload
1 MB test filesample-1mb.bin1 MBDownload
10 MB test filesample-10mb.bin10 MBDownload
25 MB test filesample-25mb.bin25 MBDownload
50 MB test filesample-50mb.bin50 MBDownload
100 MB test filesample-100mb.bin100 MBDownload
250 MB test filesample-250mb.bin250 MBDownload
500 MB test filesample-500mb.bin500 MBDownload

Integer-overflow boundaries

Uploads that pass 2 GB or 4 GB break code that stores sizes in 32-bit integers, and FAT32 cannot hold files over 4 GB. These are quicker to make than to download: use the in-browser generator or the commands below.

Need 1 GB, 2 GB or 4 GB + 1 byte?

We host files up to 500 MB. Bigger test files are quicker to make than to download, and the boundaries that break software are 2 GB (2³¹ bytes, the signed 32-bit limit) and 4 GB (2³², the unsigned 32-bit and FAT32 limit). Use the in-browser generator for any exact size (for example 2 GB or 4 GB + 1 byte), or one of these commands:

# Random bytes: incompressible, so the bytes on the wire match the file size
head -c 1073741824 /dev/urandom > sample-1gb.bin          # 1 GB
head -c 2147483648 /dev/urandom > sample-2gb.bin          # 2 GB = 2^31 (signed 32-bit overflow)
head -c 4294967297 /dev/urandom > sample-4gb-plus-1.bin   # 4 GB + 1 byte (unsigned 32-bit, FAT32)

Zero-filled files compress to almost nothing, so use random bytes when anything between you and the server (a proxy, rsync, or SSH compression) might compress the transfer. More detail in the guide How to create a test file of any size.

Images sized to common limits

Real, viewable images sized just under common upload limits.

FileSizeDetailsDownload
100 KB JPG imagesample-100kb.jpg98.8 KB322×241Download
500 KB JPG imagesample-500kb.jpg491 KB730×547Download
1 MB JPG imagesample-1mb.jpg998 KB1048×786Download
2 MB JPG imagesample-2mb.jpg1.9 MB1500×1125Download
5 MB JPG imagesample-5mb.jpg4.9 MB2372×1779Download
10 MB JPG imagesample-10mb.jpg9.8 MB3353×2514Download
20 MB JPG imagesample-20mb.jpg19.9 MB4796×3597Download

Videos and PDFs by size

For forms that only accept media or documents.

FileSizeDetailsDownload
1 MB MP4 videosample-1mb.mp4998 KB1920×1080 · 10s · H.264Download
5 MB MP4 videosample-5mb.mp44.8 MB1920×1080 · 10s · H.264Download
10 MB MP4 videosample-10mb.mp49.7 MB1920×1080 · 30s · H.264Download
50 MB MP4 videosample-50mb.mp449 MB1920×1080 · 30s · H.264Download
100 MB MP4 videosample-100mb.mp498 MB1920×1080 · 1m · H.264Download
1 MB PDFsample-1mb.pdf963 KB8 pagesDownload
5 MB PDFsample-5mb.pdf4.6 MB8 pagesDownload
10 MB PDFsample-10mb.pdf9.3 MB8 pagesDownload
25 MB PDFsample-25mb.pdf24.2 MB21 pagesDownload

Large videos

Real, playable MP4s just under 250 MB and 500 MB — for chunked and resumable uploads and transcoding queues.

FileSizeDetailsDownload
MP4 250 MB (upload test)sample-250mb.mp4243 MB1920×1080 · 51s · H.264Download
MP4 500 MB (upload test)sample-500mb.mp4487 MB1920×1080 · 1m 42s · H.264Download

Empty files

Zero-byte files should be rejected with a clear message, not a server error.

FileSizeDetailsDownload
Zero-byte .jpg filezero-byte.jpg0 BDownload
Zero-byte .pdf filezero-byte.pdf0 BDownload
Zero-byte .mp4 filezero-byte.mp40 BDownload
Zero-byte .csv filezero-byte.csv0 BDownload

Wrong or tricky file types

Check content (magic bytes), not just the extension.

FileSizeDetailsDownload
HTML file named .jpghtml-named.jpg107 BDownload
PNG file named .jpgpng-named.jpg323 KBDownload
PDF file named .docxpdf-named.docx3.1 KBDownload
Double extension (.php.jpg)sample.php.jpg41.8 KBDownload
Uppercase extension (.JPG)UPPERCASE.JPG41.8 KBDownload
Unicode and spaces in file namerésumé 文件 (1).pdf3.1 KBDownload
250-character file namelong-file-name-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.txt36 BDownload