Developer Tools

Dummy File Generator

Generate dummy files of an exact byte size — images, audio, video, PDFs, text, and more — entirely in your browser. Handy for testing upload form size limits. Files are never sent to a server.


Format

Format Extension MIME Type Spec Limit Notes
Text (TXT) .txt text/plain Effectively unlimited Padded with readable, repeating text
CSV .csv text/csv Effectively unlimited Dummy tabular data with a header row
JSON .json application/json Effectively unlimited Padded into a single string field
Binary (BIN) .bin application/octet-stream Effectively unlimited Arbitrary bytes cycling through 0x00–0xFF
Image (PNG) .png image/png Effectively unlimited Valid 1x1 image + padding chunk
Audio (WAV) .wav audio/wav 4 GiB Silent PCM data (genuinely playable)
Video (MP4) .mp4 video/mp4 Effectively unlimited Real recording in supporting browsers, structure-only placeholder otherwise
Video (WebM) .webm video/webm Effectively unlimited A genuinely recorded few-second animation (supporting browsers only)
PDF .pdf application/pdf Effectively unlimited Valid, blank single-page PDF
ZIP .zip application/zip 4 GiB Uncompressed, single-entry archive

Tips for Generating Dummy Files

  • Upload form validation logic often checks extension, MIME type, and file size as three separate steps. Because this tool generates files that are valid in every other respect, you can isolate and test the size limit alone.
  • A "10MB limit" can mean 10,000,000 bytes (106) in one implementation and 10,485,760 bytes (220) in another. The unit selector lets you pick either base, so you can test both the exact boundary value and one byte past it.
  • Chrome and Edge stream data directly to your chosen drive, so files tens of gigabytes in size can be generated without straining memory. Firefox and Safari assemble the file in memory first, which imposes a practical size limit.
  • In supporting browsers, video (MP4/WebM) is actually recorded as a few seconds of animation using the browser's built-in encoder, so it genuinely plays when opened. Everything else — the padding that makes up most of the file, and the contents of the other image/audio formats — is a dummy. The goal is purely to test size, extension, and MIME type validation.

Frequently Asked Questions

No. Generation happens entirely inside your browser, and the content is never sent to a server.

Yes — in supporting browsers (e.g. Chrome), the browser's built-in encoder actually records a few seconds of animation, so it plays when you open it. Most of the file is padding added to hit the exact size. MP4 automatically falls back to a structure-only placeholder in browsers that don't support recording, so generation itself never fails. WebM can only be selected in browsers that support recording.

Both formats store the file size in a field that the specification fixes at 32 bits (a maximum of about 4.29 GB). That is not a limitation of our implementation — it is a ceiling built into the format specification itself.

TXT, CSV, JSON, BIN, PNG, PDF, MP4, and WebM have no upper limit in their format specification, so with the latest version of Chrome or Edge (which support writing directly to disk) you can generate extremely large files.
ツールくん

Side Note — Where "Valid" Ends and "Corrupt" Begins

Most file formats set aside regions that a parser is explicitly allowed to skip — PNG's unknown chunks, MP4's free box, and WebM's Void element are all examples. These were designed from the start as space reserved for future extensions that today's parsers are meant to ignore, so padding them out never corrupts the file.

For video, we make the file genuinely playable by placing real footage before the padding. Hand-writing bit-level codec encoding ourselves is too hard to guarantee correct, so instead we let the browser's own built-in encoder (the MediaRecorder API) record a few seconds of a canvas animation, then append padding afterward. It's a way to reconcile "always return a guaranteed-valid file" with "the user actually wants to see a video."

Interestingly, a ZIP file is designed so that reading only the "central directory" at the very end reveals the full list of its contents. This is said to be a holdover from the magnetic-tape era, when archives were read from the tail — and it is still why a single file can be pulled out of a huge ZIP almost instantly today.