20 MB MP4 sample file
An MP4 file of exactly 20,971,520 bytes. It is a valid MPEG-4 Part 14 video file, generated for this site and checked with an independent parser. Use it wherever you need a 20 MB sample, test or dummy MP4 file.
Download
sample-mp4-20mb.mp4
20 MB20,971,520 bytes
Download 20 MB MP4Created in your browser in a few seconds, then checked against the SHA-256 checksum. No sign-up.
- Type
- video/mp4
- SHA-256
c9b2cd1f5f2b1fed94a2da1f96c39c7f5a2951acc8ab6c11f47e014f4645249e- Delivery
- Created in your browser. Files of 2 MB and more have no direct URL (why).
What is in this file
11,186 frames (6 min 13 s) of a synthetic test pattern with a frame counter, looping every six seconds, in one H.264 video track. 505 bytes of a trailing "free" box bring the file to the exact size.
| Dimensions | 640 × 360 px |
|---|---|
| Duration | 6 min 13 s |
| Frame rate | 30 fps |
| Video codec | H.264 (AVC), Main profile |
| Audio | No audio track |
| Fast start | Yes (moov before mdat) |
First bytes of the file
The first 64 bytes of sample-mp4-20mb.mp4 as a hex dump: offset, bytes, then the same bytes as text. The MP4 signature is 66 74 79 70 at offset 4.
00000000 00 00 00 20 66 74 79 70 69 73 6f 6d 00 00 02 00 |... ftypisom....|
00000010 69 73 6f 6d 69 73 6f 32 61 76 63 31 6d 70 34 31 |isomiso2avc1mp41|
00000020 00 00 bc ef 6d 6f 6f 76 00 00 00 6c 6d 76 68 64 |....moov...lmvhd|
00000030 00 00 00 00 e5 7b 69 80 e5 7b 69 80 00 00 03 e8 |.....{i..{i.....|Preview
Creates the file in your browser and shows it here. Nothing large is downloaded from our server.
Where 20 MB matters
A 20,971,520-byte file: right at the default attachment limit of Outlook, and just under the 25 MB ceilings of Gmail and GitHub web uploads. These are the default limits a file of this size is useful for testing:
| System | Limit | Note |
|---|---|---|
| Microsoft Outlook | 20 MB of attachments by default for internet mail accounts | This file is right at the limit; add a second attachment and it is exceeded. |
| Gmail | 25 MB per message | Under the limit, although email encoding adds about a third in transit. |
| GitHub web uploads | 25 MiB per file added through the browser | Accepted. Pushing with Git allows larger files. |
| Cloudflare Pages assets | 25 MiB per file | The largest round size that can be served as a static asset. |
| Amazon API Gateway | 10 MB payload | Rejected; the upload has to go directly to object storage. |
| ASP.NET Core (Kestrel) | About 28.6 MB request body by default | Accepted with room for the multipart overhead. |
Use this file for
- Testing email attachment limits
- Testing video upload, transcoding and thumbnail extraction
- Checking HTML video playback and seeking
Testing notes for MP4
- Seeking in a browser needs HTTP range requests. A server that ignores the Range header makes video appear to work until someone drags the progress bar.
- A valid .mp4 may contain a codec the browser cannot play; container and codec are separate questions.
Technical details
| File name | sample-mp4-20mb.mp4 |
|---|---|
| Format | MP4 (MPEG-4 Part 14 video) |
| Extension | .mp4 |
| MIME type | video/mp4 |
| Size | 20,971,520 bytes (20 MB) |
| Kind | Binary |
| Signature | 66 74 79 70 at offset 4 |
| SHA-256 | c9b2cd1f5f2b1fed94a2da1f96c39c7f5a2951acc8ab6c11f47e014f4645249e |
| Created | 2026-10-14 |
| Validation | Exact size, signature bytes and structure checked when the generator was built; your copy is checked against the SHA-256 after it is created |
| Preview | Available on this page |
| Source | Generated in your browser by this site's generator; not copied from elsewhere |
| Licence | Free to use, modify and redistribute (terms) |
| Category | Video |
Validated for expected format and integrity. As with any download, scan the file with your own security tools before opening it. How files are made and checked
Verify your copy
This file is created in your browser, so it has no direct URL for curl or wget. The bytes are the same every time and in every browser, so after saving it you can compare its checksum with the SHA-256 value above.
sha256sum sample-mp4-20mb.mp4 # Linux
shasum -a 256 sample-mp4-20mb.mp4 # macOSOn Windows, run Get-FileHash sample-mp4-20mb.mp4 -Algorithm SHA256 in PowerShell. For scripts and pipelines, save the file once and keep your own copy, or use a 1 MB file, which has a direct URL.
Related files
Questions about this file
- Is this file exactly 20 MB?
- Yes. It is 20,971,520 bytes, which is 20 MB in the binary units that operating systems and server limits use (1 KB = 1,024 bytes).
- What is inside the 20 MB MP4 file?
- 11,187 frames (6 min 13 s) of a synthetic test pattern with a frame counter, looping every six seconds, in one H.264 video track. 356 bytes of a trailing "free" box bring the file to the exact size.
- Do the MP4 samples have sound?
- No. They contain a single H.264 video track and no audio track.