TL;DR: Lorem Ipsum is scrambled Latin from a 45 BC philosophy text by Cicero. Designers use it as placeholder text so clients focus on the layout, not the words. You can generate it programmatically with a simple word-pool randomizer. Just remember to replace it before launch -- "Lorem Ipsum" has shipped to production more times than anyone wants to admit.
"Lorem ipsum dolor sit amet, consectetur adipiscing elit..." If you have ever opened a website template, a Figma mockup, or a WordPress theme, you have seen this text. It is everywhere. It is on presentation slides. It is in app prototypes. It is probably hiding in a production website right now because someone forgot to swap it out.
But what actually is it? Is it just random gibberish? A secret message? A programmer's inside joke? Let's find out.
The Surprisingly Ancient Origin Story
Lorem Ipsum is not random nonsense. It comes from a real Latin text written in 45 BC. Yes, 45 BC. The source is "De Finibus Bonorum et Malorum" (which translates to "On the Ends of Good and Evil") by Marcus Tullius Cicero, the famous Roman philosopher and politician.
The standard Lorem Ipsum passage comes from sections 1.10.32 and 1.10.33 of Cicero's work. But here is the fun part: the version we use today is not a faithful reproduction. Over the centuries, words have been altered, removed, and rearranged so much that it is largely nonsensical even to Latin scholars.
The famous opening, "Lorem ipsum dolor sit amet," is actually a garbled version of "dolorem ipsum," meaning "pain itself." So every time you paste Lorem Ipsum into a mockup, you are technically discussing the philosophy of pain. How fitting for deadline week.
Fun fact: Lorem Ipsum has been the industry's standard dummy text since the 1500s, when an unknown printer scrambled Cicero's text to make a type specimen book. That is over 500 years of "placeholder text we will replace later."
How It Took Over the Design World
Lorem Ipsum's modern popularity exploded in the 1960s when a company called Letraset (which made dry-transfer lettering sheets for graphic designers) included Lorem Ipsum passages in their catalog. Then desktop publishing arrived in the 1980s with Aldus PageMaker, and Lorem Ipsum was baked right in as the default placeholder text.
Today, nearly every design tool -- Figma, Adobe InDesign, Sketch, Canva -- either includes Lorem Ipsum or has a plugin for it. It has become so universal that "lorem" is practically a verb in the design world. "Just lorem that section for now."
Why Use Placeholder Text at All?
You might be thinking: "Why not just use real text from the start?" Fair question. Here is why placeholder text exists:
- It prevents premature content debates. Show a client real text in a mockup and they will immediately start editing the copy instead of evaluating the layout. Lorem Ipsum keeps the focus on typography, spacing, and visual hierarchy.
- It simulates realistic text flow. Unlike repeating "text here text here," Lorem Ipsum has a natural distribution of word lengths that closely resembles English. Your mockup looks more like the real thing.
- It fills space on demand. Need to test how a card looks with two lines versus five? Placeholder text lets you generate exactly the amount you need.
Generating Lorem Ipsum With Code
Need to generate Lorem Ipsum programmatically -- say, for seeding a database with test data? Here is a simple JavaScript approach:
const LOREM_WORDS = [
'lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur',
'adipiscing', 'elit', 'sed', 'do', 'eiusmod', 'tempor',
'incididunt', 'ut', 'labore', 'et', 'dolore', 'magna',
'aliqua', 'enim', 'ad', 'minim', 'veniam', 'quis',
'nostrud', 'exercitation', 'ullamco', 'laboris', 'nisi',
'aliquip', 'ex', 'ea', 'commodo', 'consequat'
];
function generateSentence(minWords = 5, maxWords = 15) {
const length = Math.floor(Math.random() * (maxWords - minWords + 1)) + minWords;
const words = [];
for (let i = 0; i < length; i++) {
words.push(LOREM_WORDS[Math.floor(Math.random() * LOREM_WORDS.length)]);
}
words[0] = words[0][0].toUpperCase() + words[0].slice(1);
return words.join(' ') + '.';
}
function generateParagraph(sentences = 4) {
return Array.from({ length: sentences }, () => generateSentence()).join(' ');
}
This picks random words from the Latin pool, capitalizes the first word, and adds a period. Simple, effective, and it produces natural-looking paragraphs for testing.
Alternatives to Lorem Ipsum
Lorem Ipsum is the gold standard, but it is not the only game in town:
Hipster Ipsum generates text using words like "artisan," "sustainable," and "cold-pressed." Fun for internal mockups, probably not great for client presentations.
Real content drafts: Some designers practice "content-first design," using rough real content from the start. More work upfront, but you catch layout issues early.
Localized placeholder text: If you are designing for a non-English audience, Lorem Ipsum can be misleading. German words tend to be longer than English ones, and Chinese characters have fixed widths. Use placeholder text in your target language for more accurate layouts.
Pro tip: For UI components like user profiles or product cards, use realistic fake data (names, addresses, prices) instead of Lorem Ipsum. Libraries like Faker.js are perfect for this.
Best Practices (Learn From Others' Mistakes)
- Use realistic lengths. If your blog posts will be 800 words, do not test with 50 words of placeholder text. Generate something close to the real thing.
- Replace it before launch. Search your codebase for "lorem" before deploying. This sounds obvious, but it happens more than you would think.
- Vary the length. Real content is not uniform. Test your card layouts with both "Sale" and "Limited Time Offer: 50% Off All Summer Collection Items."
- Think about accessibility. Screen readers will try to read Lorem Ipsum aloud, which creates a confusing experience. If testing with assistive technology, use real text or mark placeholder areas with
aria-hidden="true".
In 2014, a Swedish political party accidentally published a website with Lorem Ipsum still in the policy section. Voters had questions. The party did not have answers -- at least not in Latin.
Try It Yourself
Generate custom Lorem Ipsum text with our free tool. Choose the number of paragraphs, sentences, or words you need, and copy the result with one click.
Open Lorem Ipsum Generator →