ByteScope

Test File Generator

Pick a format, set the options, download a small valid file. It is built in this tab.

Files are built in this tab. Nothing is uploaded.

Solid-color PNG (RGB, or RGBA for a translucent color), optional eXIf chunk

Options

Option names are the keys the generate_fixture tool takes.

1 to 16384

width*height must not exceed 4194304

1 to 16384

Fill color, #rgb / #rrggbb / #rrggbbaa

Embed an EXIF block

EXIF Make (only with withExif)

EXIF Model (only with withExif)

EXIF Orientation

1 to 8

EXIF DateTime and DateTimeOriginal

GPS latitude in decimal degrees; null writes no GPS IFD

-90 to 90 · Empty = none

GPS longitude in decimal degrees; null writes no GPS IFD

-180 to 180 · Empty = none

An agent can ask for the same files: the generate_fixture tool of ByteScope MCP runs these generators.

About this tool

When a test needs a real file, such as a valid PNG, a ZIP with a broken CRC, or a certificate that expires in two days, the usual move is to copy one off the internet or hand-assemble the bytes and get a length field wrong. This page builds the file from the options you set, in this tab. The test suite reads every generator's output back with a separate parser written independently of it.

Sample images, video and audio

A sample PNG file, JPEG, GIF, BMP or WebP is a solid color at the size you ask for, optionally with an EXIF block, and a GIF can animate. A test video file 10 seconds long is an MP4 with H.264 color bars and moov at the front or the end, so players and demuxers that care about faststart can be tested both ways. WAV is a sine tone or silence, and MP3 is silent frames at the bitrate you pick.

Dummy PDF for testing, archives and certificates

A dummy PDF for testing has as many labelled pages as you set, and can carry an embedded file or RC4 or AES-128 encryption. ZIP takes entry names and contents, ZipCrypto, split volumes, or one deliberately corrupted field for error-handling tests. X.509 makes a self-signed certificate that is valid, expires soon, has expired, or is not yet valid, measured from the current time, with its private key as a second file.

Also pcap, SQLite and firmware

pcap and pcapng hold a TCP handshake, a DNS query or an HTTP GET. SQLite gets the tables, columns and row counts you describe in JSON. ELF, Intel HEX and UF2 are minimal valid images for firmware tooling. Option names are the same keys the generate_fixture tool of ByteScope MCP takes, so a file made here can be asked for again by an agent.

Frequently asked questions

Are the test files uploaded or generated on a server?

Neither. The generator is downloaded the first time you press Generate and runs in this tab. The files never leave the browser. The anonymous event carries the format, success or failure, and a size bucket.

Why is the sample image a single color?

A solid color keeps the file small and the result exact, so a test can assert on a known pixel. The point is a structurally valid file, not a photo.

Can I get a test video file 10 seconds long?

Yes. Pick mp4, set durationSeconds to 10, and generate. The default is H.264 at 320×240 and 30 fps. One generation is capped at 8 MB, so a very long or large video is refused with a message that says why.

How do I make a certificate that has already expired?

Pick x509, set validity to expired, and set days to how long ago it expired. The window is measured from the current time unless you type an instant into now. The private key comes as a second file.

Can an agent generate these files directly?

Yes. ByteScope MCP has a generate_fixture tool backed by the same generators, and it takes the option names you see here. It returns the file as base64.