Placeholder text by paragraphs, sentences, words or an exact character count, with optional HTML paragraph markup. Plus the actual history of the fake Latin, when filler helps a design review and when it sabotages it, and how to make sure none of it ever ships.

Where lorem ipsum comes from

The passage is scrambled Cicero: fragments of De finibus bonorum et malorum, a treatise on ethics from 45 BC, with "lorem ipsum" itself being "dolorem ipsum", pain itself, decapitated mid-word. The scholar Richard McClintock traced the fragments to their source after spotting the rare word consectetur in a specimen book.

The often-repeated origin story, an anonymous printer scrambling type in the 1500s, has no surviving evidence behind it; what is documented is the 20th-century career. Letraset put the passage on its transfer sheets in the 1960s, every layout that used them spread it further, and Aldus PageMaker adopted it as the built-in filler in the 1980s. From there it became the default of every DTP and web tool since, which is why a client recognises within one second that a lorem page is unfinished, and that recognisability is precisely its value.

How to use this generator

Pick a unit, set the count, copy the text; regenerate reshuffles the words. The vocabulary is strictly the classic passage's, so the output reads as the lorem ipsum everyone knows rather than generic pseudo-Latin, and --start-lorem keeps the canonical first sentence so the text is identifiable as filler at a glance.

Two options do the work other generators skip. The characters unit produces exactly the number you ask for, cut mid-word if necessary: generate 255 characters and you know today whether the teaser field truncates gracefully, generate 60 for a title column, 10,000 for a stress test. And --html wraps every paragraph in <p> tags ready for a template or CMS body field, shown as source so you can copy markup, not rendered prose. The stats keep a live word, sentence and character count with a reading time at 200 words per minute, which doubles as a quick length calculator for real copy planning.

Why designers fill pages with fake Latin

Filler text exists to make text unreadable on purpose. A layout under review should be judged as composition, and readable sentences drag every reviewer into copyediting; the scrambled Latin blocks that while behaving typographically like European prose, with plausible word lengths, ascenders, descenders and an even gray value. That is also why the vocabulary matters: random letters or repeated "xxxx" produce the wrong texture and wrong line breaks.

The honest counterargument comes from content-first design: filler postpones the collision with reality, in which the real headline is twice as long, the German translation overflows the button, and legal disclaimers eat the whitespace. On client sites it has played out the same way every time: lorem is right for exploring structure in the first hour, and wrong the moment dimensions get frozen; swap in real drafts before anyone approves a layout, and use the exact-characters mode to test the limits real content will hit.

Keeping it out of production

Everyone has seen lorem ipsum on a live site, and no one thinks better of the site for it. The reliable fix is mechanical, not procedural: a build-time check along the lines of grep -ri "lorem ipsum" dist/ && exit 1 in CI, so a forgotten placeholder fails the deployment instead of greeting customers. Add the obvious variants (ipsum dolor, TODO, tbd) to taste; the check runs in milliseconds and has no false-positive problem a real project needs to worry about.

The subtler leak is metadata: page titles, meta descriptions, og:image alt texts and email templates escape visual review precisely because nobody looks at them, and they are exactly where placeholders survive. Grepping the built output, not the source, catches those too, including the ones a CMS injects.

Lorem ipsum in your editor

ToolCommandResult
VS Code (Emmet, built in)lorem + Tab, lorem50, p*3>lorem30 words, exactly 50 words, three filled paragraphs
Microsoft Word=lorem(3,4) + Enter3 paragraphs of 4 sentences; =rand() for English
JetBrains IDEslorem live template / Emmet in HTMLexpandable placeholder text
Google Docs / Figmaadd-on or pluginno built-in command; paste from here works everywhere

The editor shortcuts are the right tool inside markup. This page earns its place when you need an exact character count, HTML-wrapped paragraphs, a specific volume for a stress test, or filler somewhere without Emmet, a CMS field, a mail template, a spreadsheet cell.

Placeholder text questions

What does lorem ipsum mean in English?

On its own, nothing: the words are chopped and scrambled fragments. The source they were cut from does mean something. "Lorem ipsum" is a truncation of "dolorem ipsum", "pain itself", from Cicero's De finibus bonorum et malorum (1.10.32, written 45 BC): "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit", meaning "nor is there anyone who loves pain itself because it is pain, and wants to obtain it". The standard passage garbles this beyond grammar, which is the point: it should look like language without reading as any.

Where does lorem ipsum come from?

The words come from Cicero, 45 BC; the identification was made by Latin scholar Richard McClintock, who traced the fragments to De finibus. As placeholder text it is commonly claimed to date to a 1500s typesetter, but there is no surviving specimen backing that story. What is documented: Letraset used the passage on its dry-transfer sheets in the 1960s, and Aldus PageMaker shipped it as its filler text in the 1980s, which is what cemented it as the software default everyone has seen since.

Is lorem ipsum real Latin?

No. It is built from real Latin words and fragments, but words are truncated (lorem from dolorem, adipiscing from adipisci), endings are shuffled and the syntax is broken, so it does not parse as Latin and cannot be translated as a text. Latin teachers occasionally get asked to translate it and the honest answer is that there is nothing to translate. That brokenness is deliberate quality: real Latin would tempt readers to read, and near-language keeps the eye on the layout.

How do I insert lorem ipsum in VS Code, Word or Google Docs?

VS Code: in an HTML or CSS file, type lorem and press Tab (Emmet is built in); lorem50 expands to exactly 50 words, and p*3>lorem gives three filled paragraphs. Word: type =lorem(3,4) at the start of a line and press Enter for 3 paragraphs of 4 sentences; =rand(3,4) inserts English sample text instead. Google Docs has no built-in command, so people use an add-on or paste from a generator like this one. Figma inserts placeholder text via plugins as well.

Why do designers use lorem ipsum instead of real English text?

Because readable text hijacks the review. Show a stakeholder a draft with real sentences and the feedback is about wording, not the layout being evaluated; near-Latin makes reading impossible while keeping realistic word lengths and letter distribution, so line breaks, hyphenation and gray value behave like they will with real copy. The counter-position, common in content-first design, is that layouts should be built around real content because filler hides real problems: German labels run 30% longer, legal copy will not fit the pretty card. Both are right; use filler to explore form, switch to drafts before you commit to dimensions.

How much placeholder text do I need for a typical layout?

Rules of thumb that match how the units of this generator are meant: a headline is 3 to 8 words, a hero subline 10 to 20, a card teaser 15 to 30, a normal paragraph 40 to 80 words, and a blog-post mock 400 to 800. For form fields and database columns, switch to the characters unit and generate exactly the field limit (60, 255, 4000) to see truncation and overflow behaviour immediately. When in doubt generate the pessimistic amount; layouts break on long content, rarely on short.

How do I stop lorem ipsum from shipping to production?

Treat it like a compile error: grep -ri "lorem ipsum" dist/ (or your build output directory) as a CI step and fail the build on a match, which costs one line in the pipeline and catches the classic incident of a placeholder page going live. Some teams add the check to an end-to-end smoke test or a pre-commit hook instead. It happens to real companies regularly, from staging pages leaking into search indexes to "Lorem ipsum" appearing in shipped app-store screenshots, and the automated check is cheaper than any process fix.

What are the alternatives to lorem ipsum?

Three schools. Real drafts: even rough actual copy, the content-first choice, and the only one that reveals length problems in your language. Plain-English filler: Word's =rand() or any sample prose, readable but distracting for reviewers. And themed generators (pirate, coffee, legal boilerplate), which are fun and occasionally unprofessional at exactly the wrong demo. There is no technical difference, only what your review situation needs; the classic passage survives because everyone instantly recognises it as not-content, which is a real feature.