20 MB XML sample
An XML file of exactly 20,971,520 bytes. It is a valid Extensible Markup Language file, generated by this site. Compare its checksum and test it with the parser used by your application. Use it wherever you need a 20 MB sample, test or dummy XML file.
Download
sample-xml-20mb.xml
20 MB20,971,520 bytes
Download 20 MB XMLCreated in your browser in a few seconds, then checked against the SHA-256 checksum. No sign-up.
- Type
- application/xml
- SHA-256
69add2f03a0f76081a3c92c06e916ed001e1e6f6cb338bb86059e9f74794e1e3- Delivery
- Created in your browser from static generator assets (how it works).
What is in this file
A <customers> root element holding 64,904 fictional records that mix child elements, attributes and an empty element. An XML comment before the closing tag brings the file to the exact size.
| Elements | 64,904 <customer> records |
|---|---|
| Root element | <customers> |
| Declaration | XML 1.0, UTF-8 |
| Encoding | UTF-8 (ASCII characters only) |
| Line endings | LF |
How the file begins
The opening lines of sample-xml-20mb.xml, exactly as they appear in the file.
00000000 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 |<?xml version="1|
00000010 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 55 54 |.0" encoding="UT|
00000020 46 2d 38 22 3f 3e 0a 3c 63 75 73 74 6f 6d 65 72 |F-8"?>.<customer|
00000030 73 20 67 65 6e 65 72 61 74 6f 72 3d 22 53 61 6d |s generator="Sam|Preview
Creates the file in your browser and shows its first 64 KB.
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
- Measuring download speed from your own server or CDN
- Testing feed readers and SOAP clients
- Testing XML parsers and data import
Testing notes for XML
- Namespaces change element identity: <name> in two namespaces is two different elements.
- Parsers that resolve external entities can be made to read local files or call internal services, an attack called XXE. Disable DTD processing for untrusted input.
Technical details
| File name | sample-xml-20mb.xml |
|---|---|
| Format | XML (Extensible Markup Language) |
| Extension | .xml |
| MIME type | application/xml |
| Size | 20,971,520 bytes (20 MB) |
| Kind | Text |
| Signature | 3C 3F 78 6D 6C |
| SHA-256 | 69add2f03a0f76081a3c92c06e916ed001e1e6f6cb338bb86059e9f74794e1e3 |
| Created | 2026-10-23 |
| Validation | See the listed size and SHA-256. Small downloads are checked in the browser; verify streamed downloads manually. A hash match does not prove parser compatibility. |
| 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 | Data |
Check the stated structure and checksum against your application requirements. 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 generator is designed to produce reproducible bytes. After saving, compare the checksum with the SHA-256 value above.
sha256sum sample-xml-20mb.xml # Linux
shasum -a 256 sample-xml-20mb.xml # macOSOn Windows, run Get-FileHash sample-xml-20mb.xml -Algorithm SHA256 in PowerShell. For scripts and pipelines, save the file once and keep your own copy.
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 XML file?
- A <customers> root element holding 64,904 fictional records that mix child elements, attributes and an empty element. An XML comment before the closing tag brings the file to the exact size.
- Do the XML samples use a DTD or entities?
- No. They have an XML declaration and no DOCTYPE, so they are safe for parsers with DTD processing disabled.