Generators

Lorem Ipsum Generator

Generate placeholder Lorem Ipsum text by words, sentences or paragraphs.

Options
Result
1 words0 chars

What is Lorem Ipsum Generator?

Lorem Ipsum is placeholder text commonly used in design and publishing. This tool generates random placeholder text.

Features

  • Generate paragraphs, sentences, or words
  • Customizable length
  • Classic or random text

Use Cases

  • Web design mockups
  • Document templates
  • UI prototyping

This generator builds placeholder copy from a fixed 62-word Latin vocabulary, emitting words, sentences, or paragraphs on demand. Sentences run 8 to 15 words; paragraphs 3 to 5 sentences. Use it to fill layouts, cards, and article templates with text whose length you control, instead of waiting for final copy.

Where the 62 words come from

The output is not sampled from a corpus: every token is drawn uniformly from a hard-coded list of 62 lowercase Latin words, the vocabulary of the standard Lorem passage from "lorem ipsum dolor sit amet" through "laborum". So lorem and ipsum appear as often as anim or id. The sentence builder takes 8 to 15 words; the paragraph builder joins 3 to 5 such sentences with single spaces; paragraphs are concatenated with one blank line, so a three-paragraph request renders as three blocks separated by an empty line. Two consequences are visible in any sample: the text carries no commas, semicolons, or quotation marks beyond the closing period, and the vocabulary is closed, so a long paragraph repeats words often enough to read as nonsense rather than Latin.

The prefix checkbox has three different behaviours

It looks like one switch but acts per mode. In words mode the prefix is literal: two fixed tokens are pushed first and count toward the requested total, so count 1 and count 2 both return exactly Lorem ipsum.. In sentence and paragraph mode the flag only capitalizes the first character of the first sentence; the words stay random, so a blurb can begin with Ea or Cillum and reaches Lorem only if the draw happens to pick it. Inside a paragraph only that first sentence is capitalized, so the second and later sentences start lowercase right after a full stop, which is obvious once rendered. And because the words-mode loop starts at index 2 when the prefix is on, the uppercase branch inside it can never fire.

No seed, no freeze: working with the live output

Every render calls Math.random, and the component exposes no seed, URL parameter, or history, so identical settings give different text on each click. Regeneration is bound to input events rather than a separate action: editing the count field re-runs the generator on each keystroke, and clicking anywhere in the read-only result box replaces its contents. You can select and copy the text but never pin it, so copy first and paste where you need it. For fixtures or visual-regression screenshots, save one output as a text file and commit it, or switch to a seeded generator. The word and character counters under the box are recomputed from that same volatile string.

Worked example

Words mode with the prefix switched on

Input
type = words, count = 2, start with "Lorem ipsum" enabled
Output
Lorem ipsum.

Both requested slots are consumed by the fixed prefix, so the random loop never runs and the output is byte-identical on every click. The trailing period comes from the count > 0 check, not from the words. Lower the count to 1 and the result is still these two words.

Limits and pitfalls

  • The vocabulary is 62 fixed words and the only punctuation emitted is the closing period, so no commas, quotes, or <p> wrappers come out of it.
  • In words mode the prefix consumes two of the requested count: count 1 and count 2 both yield Lorem ipsum., while count 0 returns an empty string.
  • max is 100 on the number input only; nothing in the generator clamps the value, so a manually typed 500 still produces 500 items and can stall the page in paragraph mode.
  • Text comes from unseeded Math.random, so it cannot be reproduced and must not be used as a test fixture or screenshot baseline.
  • Clicking the result box or editing the count field regenerates and overwrites immediately with no undo, so copy the text before experimenting.

Related tools

Six calls: stay on this page or move to Emmet, a seeded faker, or your own slice

DecisionThis lorem generatorWhere to go instead
The filler needs markup around itThe box returns one plain string: paragraphs are joined with a blank line (\n\n) and carry no <p>, so a three-card grid means three copies and three hand-wrapped blocks.Emmet expands lorem to 30 words and lorem100 to 100 right where the cursor is, so tags and text arrive in one keystroke and nothing passes through the clipboard.
A fixture that must be identical on every machineEvery render calls unseeded Math.random and rebinds to clicks and keystrokes, so a snapshot saved today will not match tomorrow, and there is no seed parameter to pin it with.For strings that live in CI, seed a faker — faker.seed(42) then faker.lorem.paragraphs(3) gives the same block forever; if you only need one frozen sample, save one render here to a .txt and commit that.
A hard character budget, such as a 160-char meta descriptionCount means words, and words run 2 to 13 characters with a mean of 5.6, so 30 words comes out near 200 characters but never on an exact one — 160 is not dialable here.A fixed slice is exact: ("lorem ipsum " * 14)[:160] in Python; and if the text already exists, measure it in the character-counter tool rather than guessing at its length.
Testing hyphenation or overflow on one very long tokenThe vocabulary tops out at 13 characters (reprehenderit) and cannot produce anything longer, so overflow-wrap and hyphens: auto never fire on this output.Paste a 36-character UUID or a long Hex run from the random-data tool into the same paragraph — an unbreakable token of that length is what actually bursts a flex child.
CJK or any non-Latin layoutAll 62 tokens are plain a–z Latin words, so the output is pure ASCII and CJK line breaking, font fallback and character width cannot be judged on it at all.Keep a paragraph of your own product copy as the fixture; no lorem variant emits Chinese, so real text is the only honest test of those metrics.
The result has to land inside a JSON or YAML fixtureParagraph output is joined with real \n\n and the copy button takes those newlines along, so pasting it into a JSON string literal breaks the file at the first blank line.Send the text through the JSON escape tool to turn the breaks into the two characters \n, or stay in Words mode, which emits one line and no newlines.

One concrete scenario

Holding a 120-word card, when the default prints anywhere from 72 to 225

The docs team has agreed that every card body is 120 words, and the grid is being built before the copy exists. Paragraphs mode is the obvious pick — the page opens at type paragraphs, count 3 — but each paragraph is 3 to 5 sentences of 8 to 15 words, so one paragraph spans 24 to 75 words and three of them span 72 to 225. At the 4-sentence, 11.5-word average a paragraph is about 46 words, so the default lands near 138 and only meets 120 by luck, and the next click moves it again. Words mode with count 120 settles it: two fixed tokens plus 118 random ones, about 794 characters once the 119 spaces and the closing period are counted. Set count 120, keep the prefix on, and every card measures alike.

Frequently Asked Questions

What is lorem ipsum and why do designs use it?
It is scrambled Latin from Cicero’s writing (circa 45 BC). Designers use it because the letter distribution mimics natural language (layouts show realistic texture), and because meaningless text keeps reviewers focused on layout instead of copy.
How much placeholder text should I generate?
Match the expected real content: one or two sentences for cards, 2–3 lines for summaries, 2–4 paragraphs for body copy. Equal-length placeholders surface "the real headline will not fit" problems before review — the most common design rejection.
Can lorem ipsum ship to production?
Absolutely not. Add a release checklist item to search for lorem, ipsum, TODO, and placeholder — sites ship with placeholder text every year and get screenshotted for it. Chinese projects should also sweep for residual "测试数据" strings.

Content reviewed: