DevKitHub

Programming

Lorem Ipsum Generator — Placeholder Text

Generate lorem ipsum by paragraph, sentence or word. Set a seed to get identical text on every run, which keeps two versions of a mockup comparable.

5 lines
137 words · 1031 characters

This tool runs entirely in your browser. Your input is never uploaded, stored or logged.

How it works

Text is assembled from the conventional lorem ipsum vocabulary, with sentence lengths and comma placement varied so a block reads as prose rather than as a word list. The classic opening — "Lorem ipsum dolor sit amet, consectetur adipiscing elit" — is spent once at the start rather than repeated at the top of every paragraph, which is a common giveaway that placeholder text was generated in chunks.

The generator is seedable, and that is the part worth having. Given a seed the output is byte-for-byte identical every time, so two screenshots of a design differ by the design rather than by the filler, and a visual regression test does not fail because the placeholder text changed. Leave the seed empty for a different draw each time. The algorithm is mulberry32, a small deterministic generator — it is explicitly not cryptographic, and does not need to be, because this is filler text rather than anything anyone relies on being unpredictable.

Counts are capped per unit so a mistyped number cannot lock up the tab building a string nobody asked for. Everything runs in the browser, so nothing is sent anywhere.

Common problems

Every example below is run against this tool in our test suite, so what it says here is what the tool actually does.

Every run gives different text and the design diff is useless.

Why:
With no seed the generator draws fresh text each time, so a screenshot comparison shows changes in the filler rather than changes in the layout being reviewed.
Fix:
Set any seed value and keep it. The same seed always produces the same text.

Lorem ipsum in the released product.

Why:
Placeholder text is written to look like body copy, which is exactly why it survives review and reaches production — it does not read as obviously wrong at a glance.
Fix:
Grep the build for "lorem ipsum" in CI. It takes one line and catches it before release.

Text that does not fit once real copy arrives.

Why:
Lorem ipsum has Latin word-length distribution, which is shorter on average than English and much shorter than German or Finnish, so a layout tuned to it overflows later.
Fix:
Test the layout at roughly 1.5x the placeholder length as well, or use real sample copy for the language you are shipping in.

Frequently asked questions

What does the seed do?
It fixes the output. The same seed always produces the same text, so a mockup regenerated tomorrow is identical to the one from today and a visual diff shows only real changes.
Is lorem ipsum real Latin?
It is corrupted Latin, derived from a first-century BC text by Cicero with words altered and truncated. It is deliberately not readable, so nobody reads the filler instead of reviewing the layout.
Why does my layout break when real copy replaces it?
Lorem ipsum words are shorter on average than English and much shorter than German or Finnish. A layout tuned to it will overflow. Test at about 1.5x the length as well.

Last updated