OxygenPDF
create
testing
privacy

Blank PDF, Sample PDF, Dummy PDF: What You Actually Need

RohmanRohman3 min read
Blank PDF, Sample PDF, Dummy PDF: What You Actually Need

Nobody searches for a blank PDF to read it. You need a fixture: a file with known properties you can feed an upload form, a parser, or a test suite, and trust that whatever breaks is your code's fault and not the file's.

That changes what "the right file" means. It is not a download. It is a file whose bytes you can account for.

What a Blank PDF Actually Is

A zero-byte file is not a PDF; every real parser rejects it. The minimum skeleton is four parts: a %PDF-1.4 header, a handful of body objects (catalog, page tree, page), a cross-reference table of byte offsets, and a trailer ending in %%EOF. A page needs no content stream at all; /MediaBox alone renders a blank sheet.

Measured with pdf-lib, the library this site is built on:

File Bytes
Hand-built minimal valid PDF 329
pdf-lib, one blank Letter page 577
pdf-lib, 100 blank pages 1,736
pdf-lib, 1,000 blank pages 12,713
One page + one fillable text field 1,521
One page + text, checkbox, dropdown, radio 5,380

Two facts fall out of that table. Blank pages are nearly free, about 12 bytes each, so a thousand of them fit in 13 KB. And you cannot make a "1 MB blank PDF" by adding pages. Size comes from content (images and fonts), not from page count.

Why "a 1 MB PDF" Is a Real Request

The searches that look strangest (sample pdf 10 mb, dummy pdf 1mb, blank pdf 100 pages) are boundary probes. Somewhere upstream of you is a limit with a number on it:

Wall Default limit
nginx client_max_body_size 1 MB
PHP upload_max_filesize 2 MB
AWS API Gateway payload 10 MB
Gmail attachment 25 MB

"A 1 MB PDF" is not a document. It is the answer to "does the upload form reject exactly at the limit, or one byte early?" For that test you need a file of a known size, which is the thing a fixed download can never give you, and a generator can.

Blank, Fillable, or Sample: Pick the Right Fixture

The three words people type are three different files.

Blank is the minimal repro. Does your parser handle a page with no content stream, zero fonts, no metadata? A 577-byte blank page is the smallest honest input a PDF pipeline can see.

Fillable means AcroForm fields, and it is a different object graph: the catalog gains an /AcroForm dictionary, each field is a /FT /Tx (text), /Btn (checkbox) or /Ch (dropdown) object holding the value, and the visible box is a separate /Widget annotation holding the rectangle. One field costs about a kilobyte of overhead. Searching "blank PDF" when you need a form fixture gets you the wrong file.

Sample usually means "a file with known contents" (real text, maybe a table, a known page count) for testing extraction or RAG ingestion. The degenerate case matters there too: a blank PDF is how you check the loader returns zero chunks instead of crashing.

Generate It Instead of Downloading It

The incumbent sites (file-examples.com, sample-files.com, smallpdf's sample page) all ship fixed files at fixed sizes. Two problems with that. The size you need is never the size they picked; sample-files.com's own table contradicts itself, listing its 20-page file at both 42 KB and 3.5 MB. And a downloaded fixture is someone else's bytes: producer strings, metadata, occasionally junk you did not ask for and cannot see.

A generated file is deterministic. Same inputs, same bytes, reproducible in CI, with nothing in it you did not put there.

Making One Now

  1. Open Create PDF
  2. Pick a page size (A3, A4, A5, Letter, Legal, or an e-ink device size) and a page count up to 100
  3. Choose plain, or a pattern if what you actually wanted was paper: lined, grid, dot grid, Cornell
  4. Download. It generates in your browser, so the fixture's bytes are yours alone

For the fillable case, PDF to Form converts an existing form PDF into a web form, and Flatten PDF bakes filled fields into the page when you need the opposite. If the "blank PDF" you wanted was really printable paper, Graph Paper and Lined Paper generate ruled sheets at true size.

The file was never the point. The known quantity was.

Make a blank PDF — generated in your browser, nothing uploaded.

Rohman

Written by

Rohman

I built OxygenPDF because I got tired of uploading contracts and tax forms to random websites. Your PDFs never leave your browser.

Share this articlePost on XLinkedIn

Stop renting your PDF platform.

All 69+ tools free on web. Desktop Pro is $29 once — every desktop tool, the workspace, and batch processing.

  1. $29now
  2. $79after that

14-day money-back guarantee • Works offline • All platforms

We use analytics to understand how our tools are used and improve the experience. No personal files are ever sent.