Dummy Data & Sample Files
Dummy data for whatever you are building: mock CSV and JSON datasets, unicode edge cases, deliberately invalid JSON, prose at exact word counts, and sample files in every format you need. All of it is generated in your own browser — no signup, no row limits, nothing uploaded. Built for developers, QA engineers, designers, copywriters and SEO teams who need believable test data right now.
Filter by role
Build your own
Datasets, placeholder images and files of an exact byte size — built to your spec, in this tab. Choose the columns, the dimensions or the row count, and your own CPU produces the result: no rate limit, no signup, nothing uploaded.
Dataset generator
Pick your columns and format, then copy or download. Reuse the seed to rebuild a byte-identical file whenever you need to reproduce a failure.
Same seed, same rows — every time
Share of cells left empty. A dataset with no holes never exercises the branch that handles them.
id,uuid,name,email,role,department,company,active,country,city,salary,created_at
1,9cf0bac2-dace-448a-855e-b8faa7d56d1e,Nour Kaur,[email protected],admin,Engineering,Globex Media,true,Brazil,Toronto,41851,2024-10-26T08:54:22Z
2,46aca6a4-8025-400f-9d59-6974ad4b9b23,Наталія Бондаренко,[email protected],moderator,Legal,Wayne Robotics,true,Japan,Lagos,121782,2026-07-26T07:11:51Z
3,c78ca172-2065-41d4-8277-fefd4cd27405,Yuki Fernández,[email protected],editor,Support,Hooli Cloud,true,Japan,Toronto,183210,2026-06-26T00:40:59Z
4,b3fbe511-65e9-4f3b-9b6c-9833fc035b5f,Oleksandr Larsen,[email protected],admin,Operations,Vandelay Imports,true,Poland,Austin,53904,2025-07-30T22:09:45Z
5,6d87afe7-a154-44eb-98d3-1e44d880b4d7,Ingrid Ferrari,[email protected],admin,Marketing,Acme Logistics,true,Ukraine,Osaka,176149,2023-08-06T21:22:34ZPlaceholder image generator
Any resolution, any format, composed on a canvas in this tab. Five styles: a measuring grid, two drawn scenes and two real photographs. Useful when a layout needs a 3:1 hero, when an upload form claims to reject anything over 2 MB, or when a CDN pipeline needs a WebP to chew on.
Checkerboard, bold diagonals and the pixel dimensions — the fastest way to spot a stretched, letterboxed or badly cropped image.
Blank file of an exact size
For the upload limit you are trying to hit. Choose an extension and a size, and the file appears — no 50 MB download from a stranger's server just to test a 50 MB cap.
Large sizes are held in memory before download. Anything over 100 MB is refused.
Multi-page PDF
A structurally valid PDF 1.4 assembled byte by byte in your browser: catalog, page tree, uncompressed content streams and a base-14 Helvetica reference. No embedded fonts, no JavaScript, nothing to strip.
Or take a ready-made fixture
Placeholder text & prose
Real English sentences at exact word counts — not Latin filler. Every block is measured with the same Intl.Segmenter tokenizer as our word counter, so a block labelled 250 words reports 250 words in any tool that counts them properly.
50-word sample
Original English prose about writing, design and testing — safe to show a client, and realistic enough to expose line-breaking and hyphenation problems that Latin filler hides.
100-word sample
Original English prose about writing, design and testing — safe to show a client, and realistic enough to expose line-breaking and hyphenation problems that Latin filler hides.
250-word sample
Original English prose about writing, design and testing — safe to show a client, and realistic enough to expose line-breaking and hyphenation problems that Latin filler hides.
500-word sample
Original English prose about writing, design and testing — safe to show a client, and realistic enough to expose line-breaking and hyphenation problems that Latin filler hides.
1,000-word sample
Original English prose about writing, design and testing — safe to show a client, and realistic enough to expose line-breaking and hyphenation problems that Latin filler hides.
Classic Lorem Ipsum
The Latin standby, for the one client who explicitly asked for it. For a custom number of paragraphs, sentences or words, use the dedicated generator.
UI microcopy pack
Button labels, empty states, error messages and tooltips written the way a real product writes them. Drop them into a mockup instead of typing Button 1 and Error.
Unicode & edge cases
The strings that break naive code: mixed scripts, joined emoji, invisible characters, unbroken words and the hostile-looking input your sanitizer is supposed to neutralise.
Boundary-length strings
The lengths that sit either side of a VARCHAR limit, a database column, or a truncation rule. Each string is a ruler marked every ten characters, so you can see exactly where a value was cut.
One token with no spaces — the fastest way to find a container missing overflow-wrap.
Mixed-script pangrams
Fifteen writing systems in one block — Latin with diacritics, Greek, Cyrillic, Hebrew, Arabic, CJK, Thai, Devanagari and Vietnamese. If a font, a column encoding or a PDF export is going to fail, it fails here.
Emoji & grapheme clusters
Skin tones, ZWJ families, regional-indicator flags and combining marks. This is where character counting stops being obvious and String.length starts lying to you.
Invisible & control characters
Non-breaking spaces, zero-width joiners, soft hyphens, a byte order mark and a right-to-left override — each labelled with its codepoint so you know what you pasted.
Zalgo / stacked diacritics
Combining marks stacked far past anything legible. It tests line-height clamping, container overflow and any place you assumed one character equals one row of pixels.
Input-validation payloads
Inert strings shaped like SQL, HTML, path traversal, template and command injection. Paste them into your own form and confirm the sanitizer neutralises every one.
Valid & invalid email addresses
Addresses that RFC 5322 permits and most homegrown regexes reject, alongside the ones that must genuinely fail. The fastest way to find out whether your validator is right or merely confident.
Structured data & code
Valid and deliberately broken payloads for every parser you own — JSON, SQL, CSV, Markdown, YAML, XML — plus identifier packs and issuer-published card test numbers.
Valid JSON — user records
Three nested user objects with booleans, nulls, empty arrays, a zero value and a non-Latin name. Formatted, parseable, and awkward enough to be worth testing.
Invalid JSON — four ways
A trailing comma, single quotes, an unquoted key with a bare NaN, and a response truncated mid-string. Four separate failure modes so you can test each error path on its own.
SQL schema & inserts
A CREATE TABLE with realistic column types plus multi-row INSERT statements, including an escaped apostrophe and a NULL, so your migration and seeding paths both get exercised.
CSV with hostile values
Quoted fields containing commas, an escaped double quote, an empty numeric cell and a non-ASCII name. Any parser that splits on the comma character breaks on line two.
Markdown kitchen sink
Headings, nested lists, task lists, a table with column alignment, a fenced code block, a blockquote, a horizontal rule and an image. Everything a renderer claims to support, on one page.
YAML config
A service definition with nested maps, sequences, an inline array and the famous quoted true — the value that turns into a boolean the moment somebody forgets the quotes.
XML catalogue
Attributes, a CDATA section, escaped ampersands and an xsi:nil element. Enough structure to exercise a real parser rather than a regex pretending to be one.
Identifier reference pack
UUIDs, ULIDs, ObjectIds, semver strings, ISO timestamps, IPv4 and IPv6 addresses, MAC addresses, hex colours and a SHA-256 digest — the values you keep retyping from memory.
JWT tokens (unsigned)
Structurally valid tokens with meaningless signatures, plus an expired one. Any library that actually verifies will reject them, which is exactly what you want when testing the failure branch.
Payment card test numbers
The Luhn-valid test numbers the card networks publish themselves. Every live gateway rejects them, and they exist for precisely this purpose — plus one that fails the checksum on purpose.
SEO & meta fixtures
Exact-length title tags and meta descriptions, Open Graph blocks, JSON-LD samples, a sitemap and a robots.txt you can paste straight into a staging environment.
Title, description & social tags
A title tag at exactly 60 characters, a meta description at exactly 155, and full Open Graph and Twitter card blocks — plus strings at 55, 70 and 120 characters for testing truncation.
JSON-LD structured data
Article and Product schemas with the properties Google actually reads, including author, publisher, offers and aggregateRating. Paste into the Rich Results Test to confirm your renderer output.
robots.txt
A realistic file with multiple user-agent groups, wildcard disallow rules, a crawl delay, an AI crawler exception and a sitemap directive.
sitemap.xml
A valid urlset with lastmod, changefreq, priority and hreflang alternates — the shape your generator should be producing for a multilingual site.
URL slug list
Ten realistic article slugs for seeding a routing table, testing a redirect map, or checking that your canonical logic handles numbers and years.
Ready-made file downloads
Direct links to small, clean sample files. Right-click and save, or hand the URL to a colleague — no page visit required.
100-row user dataset
users-dataset-100.csv
Twelve columns of realistic user records with quoted commas and non-Latin names.
1,000-row user dataset
users-dataset-1000.tsv
The same schema, tab-separated, with tabs and newlines escaped rather than quoted.
100-record JSON array
users-dataset-100.json
Pretty-printed and ready for a fixture folder or a mock API response.
Single-page PDF
sample-document-single.pdf
A tiny, structurally valid PDF 1.4 with no embedded fonts and no JavaScript.
SVG placeholder
sample-vector-placeholder.svg
Clean vector markup with no external references — safe for testing SVG upload sanitisers.
800×800 PNG with alpha
sample-transparent-800.png
A real alpha channel, for testing transparency handling and flattening on export.
1920×1080 JPEG
sample-image-1080p.jpg
Full HD at moderate compression — the standard case for an image upload form.
1920×1080 WebP
sample-nextgen-hero.webp
The same image in the next-gen format, for testing format detection and fallbacks.
Video samples
Real footage, not a flat-colour test pattern — two stock clips, each cut into a resolution ladder and mirrored across MP4, WebM and MOV, with an inline preview so you can judge quality before downloading.
1920×1080 MP4 (H.264)
sample-video-landscape-1080p.mp4
Real landscape footage at the top of a resolution ladder — high bitrate, full HD, for testing playback and preview generation at its heaviest.
1280×720 MP4 (H.264)
sample-video-landscape-720p.mp4
The middle rung of the same ladder — also the tier mirrored in WebM and MOV below, so format can be isolated from quality.
854×480 MP4 (H.264)
sample-video-landscape-480p.mp4
The bottom of the ladder — small enough to stand in for a slow-connection upload or a low-quality fallback path.
1280×720 WebM (VP9)
sample-video-landscape-720p.webm
The 720p tier re-encoded to VP9 at the same bitrate class, for testing codec detection and the WebM fallback path.
1280×720 MOV (H.264)
sample-video-landscape-720p.mov
The same H.264 stream in a QuickTime container — the wrapper iOS and macOS export by default.
1080×1920 MP4 (H.264)
sample-video-portrait-1080p.mp4
A vertical drone clip at full resolution, shot 9:16 the way a phone actually captures it — for testing portrait upload handling end to end.
720×1280 MP4 (H.264)
sample-video-portrait-720p.mp4
The middle tier of the vertical clip, mirrored in WebM and MOV below at the same bitrate class.
480×854 MP4 (H.264)
sample-video-portrait-480p.mp4
The smallest vertical tier — a realistic stand-in for a low-bandwidth mobile upload.
720×1280 WebM (VP9)
sample-video-portrait-720p.webm
The vertical clip re-encoded to VP9 at the same bitrate tier as its MP4 counterpart.
720×1280 MOV (H.264)
sample-video-portrait-720p.mov
The vertical clip in a QuickTime container, same stream as the 720p MP4 — for isolating container from codec.
Video samples adapted from stock footage via Pexels: Bosphorus Bridge at Dusk, Aerial View of Off-Road Vehicle
Nothing you make here leaves the tab. The generators run in JavaScript on this page — the 50,000 rows you just built never travelled anywhere, there is no API behind the Generate button, and closing the tab is a complete deletion. The two photo styles pull one static image from this domain, exactly as any picture on any page does; it is cropped and encoded on your machine, and nothing is ever sent back.
Now do something with it
Why this page exists
Most dummy data is either too clean to be useful or locked behind a signup form and a 1,000-row daily cap. This page takes the opposite approach. Every record comes out of a mulberry32 pseudo-random generator seeded through crypto.getRandomValues, running in JavaScript inside your own tab — so the row limit is your available memory, the rate limit does not exist, and nothing you produce is transmitted anywhere. The fixtures are chosen for the bugs they find, not for how tidy they look.
Reproducible by seed: Every generated dataset shows the seed that produced it, and re-entering that seed rebuilds a byte-identical file. A flaky test that only fails on row 4,812 stops being an anecdote and becomes an ordinary, fixable bug you can hand to a colleague.
Deliberately awkward values: Addresses contain commas, names contain apostrophes and non-Latin scripts, postal codes carry leading zeros, and a configurable share of cells is null. Clean data proves nothing — these are the values that expose broken CSV quoting and unhandled null branches.
Seven output formats: The same rows serialize to CSV, TSV, JSON, NDJSON, SQL inserts, XML or YAML, with RFC 4180 quoting, standard SQL apostrophe escaping and YAML scalar quoting applied correctly. Switch format without regenerating and the underlying records stay identical.
Files built in the browser: Placeholder images come in five styles — a measuring grid, two drawn scenes and two real photographs cover-cropped to whatever aspect ratio you ask for — and the PDF is assembled byte by byte: catalog, page tree, xref table and all. No upload, no third-party CDN, no waiting on someone else's rate limiter.
Two ways to cut it down: Filter by Developer, QA, Designer, Copywriter or SEO to drop the cards that are not yours, or type in the search box to land on a fixture by name. A copywriter gets prose at exact word counts; a QA engineer gets boundary strings and injection payloads; nobody scrolls past the other four roles' material.
How to use this page
- 1
Start in the search box, or pick your role in the filter row beneath it. Filtering by role clears anywhere from a quarter to two-thirds of the cards, depending on which one you choose.
- 2
For a ready-made fixture, hit Copy on any card — the whole payload reaches your clipboard without ever opening it. Use Preview when you want to read it first.
- 3
For a custom dataset, use Build your own at the top of the page: tick the columns you need, set the row count and format, then note the seed if you will want to rebuild this exact file later.
- 4
For binary fixtures, use the image, file-size and PDF generators, or take a direct link from the downloads grid at the bottom of the page.
Frequently asked questions
Also try the Word Counter for full readability stats and keyword density on the same text.
Further reading
- How to Generate Lorem Ipsum Online (With Options)
Generate lorem ipsum, hipster, or bacon placeholder text online — pick words, sentences, or paragraphs, set an exact count, and copy. Try the free tool.
- How to Count Words in JavaScript (5 Methods Compared)
From naive split() to Intl.Segmenter — 5 JavaScript word count methods benchmarked for accuracy, Unicode support, and edge cases. Know which one to ship.
Explore More Free Text Tools
Lorem Ipsum
Generate placeholder text by words, sentences or paragraphs
Remove Duplicates
Deduplicate lines with flexible matching options
Sort Lines
Sort or shuffle lines alphabetically, by length or randomly
Diff Checker
Compare two texts side-by-side and highlight every change
Find & Replace
Bulk text editing with full regex support
Readability Score
Check Flesch-Kincaid grade, reading ease, and Gunning Fog index
Character Limit
Check text against X, meta description, SEO title and social limits
Words to Minutes
Convert word count to speaking time and minutes to a word target
