Lorem Ipsum Generator

Minim mollit sint mollit laborum non sunt laborum aute occaecat est sint deserunt proident voluptate ullamco consectetur consequat ea. Enim duis tempor do elit sit anim aliquip id magna. Ad fugiat velit id aliqua minim mollit irure. Sed culpa labore et aliqua amet voluptate excepteur enim elit. Ad dolor et officia laboris incididunt qui cillum irure deserunt veniam labore dolor. Cupidatat exercitation sint id occaecat do amet nisi ipsum non velit ad lorem mollit excepteur eiusmod. Ut dolore dolor lorem id ex duis adipiscing pariatur aliqua excepteur nisi nisi proident et sit eiusmod deserunt. Fugiat tempor dolore adipiscing dolor pariatur laborum ad anim labore in aliqua. Reprehenderit consectetur et tempor voluptate fugiat voluptate exercitation cillum culpa ut excepteur quis amet. Culpa ex consequat exercitation cupidatat cupidatat commodo elit nisi anim esse aliquip ipsum. Eiusmod id sunt ipsum consequat mollit occaecat excepteur occaecat aute minim aute ad laboris. Nisi est sit anim adipiscing id fugiat adipiscing voluptate sunt lorem elit dolor do. Anim sed quis ad dolore consectetur minim voluptate cupidatat fugiat quis mollit exercitation voluptate eiusmod. Exercitation nisi adipiscing id fugiat officia qui dolor sunt reprehenderit sit deserunt quis officia nostrud ad sed ex quis. Adipiscing deserunt in nostrud ex ipsum et nulla laborum aliquip sunt laborum fugiat cupidatat. Irure incididunt ullamco anim aliquip consectetur exercitation reprehenderit nisi veniam in mollit veniam ea lorem nostrud nostrud aute dolor.

From Cicero to PageMaker: The Real History of Lorem Ipsum

Lorem ipsum is not gibberish invented by a designer; it is scrambled Cicero. The source is De finibus bonorum et malorum ('On the Ends of Good and Evil'), written in 45 BC, sections 1.10.32–33, which contain the line 'Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit...'. The opening 'lorem' is literally the tail of 'dolorem' with its first syllable chopped off, which is why the passage starts mid-word. The attribution stayed unknown until the 1980s, when Richard McClintock, a Latin scholar at Hampden-Sydney College in Virginia, went hunting for the rare word 'consectetur' in classical literature and traced the passage back. The text's modern career has two launch dates. In the 1960s, Letraset printed it on dry-transfer lettering sheets, putting it in front of every commercial art department. In 1985, Aldus shipped it as the default placeholder in PageMaker — the program that created desktop publishing — and from there it colonized every layout tool, CMS theme, and website template. The longevity has a real rationale: give reviewers placeholder text they can read and they start critiquing the words instead of the layout. A meaningless-but-plausible text keeps design reviews about design. That it happens to be 2,000-year-old moral philosophy about pain and pleasure is a fine irony — dolorem ipsum: 'pain itself'.

The Typography Math That Makes Placeholder Text Work

Placeholder text earns its keep through statistics. Written English averages roughly 4.7 letters per word — about 5.7 characters counting the trailing space — and classical typography puts the comfortable measure at 45–75 characters per line, with 66 characters the ideal Robert Bringhurst names in The Elements of Typographic Style (the rule-of-thumb version: 2–3 lowercase alphabets, i.e. 52–78 characters). Lorem ipsum's word-length distribution is close enough to English that a column of it wraps, hyphenates, and rags approximately like real prose, so you can judge a measure, leading, and font size honestly. That is exactly what 'asdf asdf asdf' cannot do: identical repeated words align vertically across lines, producing fake rivers of whitespace, and the uniform texture hides both good and bad typography. The Latin vocabulary also exercises the vertical dimension. Words like 'aliquip' and 'suscipit' mix ascenders (l, t, b) and descenders (p, q, g) at a natural rate, so line spacing that looked fine with an ascender-free string will reveal collisions. There are things lorem does not exercise, though: capitals appear only at sentence starts (no ALL-CAPS headings), there are no numerals, and no bold or italic inline emphasis — if your design leans on any of those, splice in real samples deliberately.
Measure math for a body-text column:
  66 chars/line ÷ 5.7 chars/word ≈ 11.6 words per line
  avg glyph width ≈ 0.5em → 66 chars ≈ 33em ≈ 528px @ 16px
  45–75 char range ≈ 22.5–37.5em ≈ 360–600px column width

Where Lorem Ipsum Misleads You — and Pseudo-Localization

Lorem ipsum has one shape: mid-length European words separated by spaces. Real content is hostile in ways that shape never predicts. German runs roughly 30% longer than English and produces single compounds like 'Eingabeaufforderung' (command prompt) that refuse to wrap inside a fixed-width button. Finnish and Turkish agglutinate suffixes onto UI labels. Chinese, Japanese, and Korean text is denser than the English it translates, has no spaces between words, and can break almost anywhere — so a layout tested only with lorem never exercises line-break: strict, word-break rules, or the hyphen-less overflow CJK produces. Arabic and Hebrew mirror the entire layout under direction: rtl. Thai has no inter-word spaces either and needs dictionary-based line breaking. The engineering fix is pseudo-localization: pipe your real UI strings through a transformer that swaps letters for accented look-alikes and pads length by about 40% — 'Account Settings' becomes something like '[!!! Àççôûñţ Šéţţîñĝš !!!]' — then run the app in that fake locale. Truncation, clipped buttons, and hard-coded string concatenation surface immediately, before a single translator is hired; Microsoft and Netflix both bake this into CI. The design-side critique goes further: the 'design with real content' movement calls lorem ipsum design debt, because layouts optimized for ideal text collapse on real names and emails. The pragmatic middle path is realistic proxy content with correct value shapes — a name field tested with 'Alexandria Papadopoulos-Vanterpool', an email at the 254-character RFC limit, a 19-digit card number.
// pseudo-localization: expand + accent real strings
"Save changes"      → "[!!! Šàvé çhàñĝéš !!!]"
"Account Settings"  → "[!!! Àççôûñţ Šéţţîñĝš !!!]"

// German-length reality check for a fixed-width button
"Edit"           → "Bearbeiten"           (2.5x wider)
"Command prompt" → "Eingabeaufforderung"  (one unbreakable word)

Lorem in Engineering Workflows: Seeds, Snapshots, and CI Guards

Placeholder text shows up far beyond mockups, and the recurring engineering requirement is determinism. Library generators like faker.js (@faker-js/faker) and the Faker gems for Ruby and Python expose lorem.paragraphs() alongside names and addresses, and crucially they accept a seed: faker.seed(42) makes every run of your database fixtures byte-identical, so a failing test reproduces on a colleague's machine. The same rule governs visual regression testing — a screenshot diff against lorem generated with an unseeded Math.random() produces a fresh 'failure' on every run; either freeze the generated text into the fixture or seed the RNG. Load testing wants lorem at realistic field lengths, because a comments table stress-tested with 10-character strings tells you nothing about what 2 KB comments do to your column sizes and index pages. Then there is the incident class every team eventually joins: lorem shipped to production. A placeholder paragraph left in a hero banner, a legal page, or a transactional email template survives review precisely because everyone's eyes slide off it. Google has at various times indexed thousands of live pages still containing 'lorem ipsum', which is also an SEO problem, since crawlers can classify it as boilerplate. The cheap fix is a CI guard: grep your production build output for the string and fail the pipeline on a hit. One line of shell converts an embarrassing class of bug into a red X.
// reproducible fixtures with a seeded generator
import { faker } from '@faker-js/faker';
faker.seed(42);
const body = faker.lorem.paragraphs(3); // identical every run

# CI guard: never ship placeholder text
if grep -ri "lorem ipsum" dist/; then
  echo "Placeholder text found in production build" && exit 1
fi

Bacon Ipsum and Friends: Variants, Easter Eggs, and Their Risks

Once lorem became infrastructure, it grew a novelty ecosystem. Bacon Ipsum interleaves the Latin with cured meats; Cupcake Ipsum is all dessert; Hipster Ipsum, Cat Ipsum, and Pirate Ipsum do what they say. 'Li Europan lingues' is a different beast — a sample passage of the constructed language Occidental that circulates as an alternative filler. Purists can also choose between the scrambled classic and Cicero's actual, unscrambled Latin. Themed ipsum is genuinely useful for making internal demos less sterile, but it carries a career risk the classic text does not: a paragraph of 'Samuel L. Ipsum' — the profanity-laden movie-quote variant — reaching a client demo or a screenshot in a sales deck is a real, recurring story. The classic text's blandness is a feature: nobody has ever had to apologize for it.
Last updated:

About this tool

A Lorem Ipsum generator produces realistic-looking placeholder text in any quantity — words, sentences, or paragraphs. Designers and developers use it to fill mockups, test typography, and validate layout flow before the real copy is ready. The pseudo-Latin source has been the design industry standard since the 1960s precisely because it does not distract reviewers with meaning.

How to use

  1. Choose what to generate: words, sentences, or paragraphs.
  2. Set the count — for example, 5 paragraphs or 100 words.
  3. Click Generate to render the placeholder text below.
  4. Copy the result and paste it into Figma, your CMS, or a test fixture.
  5. Regenerate as many times as needed for variety across designs.

Common use cases

  • Filling Figma frames with realistic copy length before content arrives.
  • Stress-testing how a CMS field handles long text without overflowing.
  • Generating test fixtures for unit tests that need long string inputs.
  • Demoing a typography or article layout in a portfolio piece.
  • Validating how a translation UI handles paragraphs of unfamiliar text.
  • Seeding a database with sample posts for a development environment.

Frequently asked questions

Q. Is Lorem Ipsum actually Latin?

A. Mostly garbled Latin from a 1st century BCE Cicero text. The original meaning was lost when typesetters scrambled the words around 1500 to make a typography sample.

Q. Should I ship Lorem Ipsum to production?

A. Never. It is for design and testing only. Real copy changes typography rhythm, line breaks, and spacing — your design must be validated against actual content before launch.

Q. Can I generate text in other languages?

A. Lorem Ipsum is intentionally meaningless so language is not the point. If you need real-feeling text in Korean / Japanese / Chinese, copy a paragraph from a public domain article instead.

Q. Why not just type "asdf asdf asdf"?

A. Repetitive characters do not approximate the visual rhythm of real text. Lorem Ipsum has natural word and sentence length distributions, which is what makes it useful for design.