DEV Community

David
David

Posted on

Lorem Ipsum for Developers: Why We Use Placeholder Text and How to Generate It

Every developer has typed "lorem ipsum" into a project at some point. Most of us know it's placeholder text. Fewer know why it exists, where it comes from, or when you should (and shouldn't) use it.

Let's break it down.

What is Lorem Ipsum?

Lorem Ipsum is dummy text used in the printing and typesetting industry since the 1500s. It's derived from a work by Cicero written in 45 BC — De Finibus Bonorum et Malorum (On the Extremes of Good and Evil).

The standard Lorem Ipsum passage:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

It's scrambled Latin — close enough to real text to look natural, but meaningless enough that readers focus on the design, not the content.

Why Not Just Use "Test text here"?

Good question. There are real reasons placeholder text exists:

1. It Prevents Content Bias

When you use readable English, reviewers instinctively read and react to the words instead of evaluating the layout. Lorem Ipsum keeps the focus on typography, spacing, and visual hierarchy.

2. It Has Natural Text Distribution

Lorem Ipsum has a roughly normal distribution of letter frequencies and word lengths. Unlike "test test test" or "asdf asdf asdf", it creates realistic-looking text blocks that approximate how real content will flow.

3. It's a Universal Convention

Designers, developers, and clients all recognize Lorem Ipsum. It's a clear signal that says "this is placeholder content" without needing explanation.

When to Use Lorem Ipsum

Use it for:

  • Wireframes and mockups
  • Testing CSS layouts and typography
  • Prototyping UI components
  • Demonstrating responsive text flow
  • Template development

Don't use it for:

  • Final production content (obviously)
  • User testing — real content reveals UX problems Lorem Ipsum hides
  • Content-heavy pages where text length matters (use real copy or realistic approximations)
  • Accessibility testing — screen readers will try to read it as Latin

Generating Lorem Ipsum Programmatically

JavaScript

// Simple paragraph generator
const words = ['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur',
  'adipiscing', 'elit', 'sed', 'do', 'eiusmod', 'tempor', 'incididunt',
  'ut', 'labore', 'et', 'dolore', 'magna', 'aliqua'];

function generateLorem(wordCount) {
  return Array.from({ length: wordCount }, () =>
    words[Math.floor(Math.random() * words.length)]
  ).join(' ') + '.';
}

console.log(generateLorem(20));
Enter fullscreen mode Exit fullscreen mode

Python

import random

words = ['lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur',
         'adipiscing', 'elit', 'sed', 'do', 'eiusmod', 'tempor']

def generate_lorem(word_count):
    return ' '.join(random.choices(words, k=word_count)) + '.'

print(generate_lorem(20))
Enter fullscreen mode Exit fullscreen mode

CSS (Yes, Really)

CSS doesn't generate Lorem Ipsum, but here's a trick for placeholder text in prototypes:

/* Use CSS to show placeholder state */
.placeholder-text {
  color: #999;
  font-style: italic;
}

.placeholder-text::before {
  content: 'Content goes here...';
}
Enter fullscreen mode Exit fullscreen mode

VS Code Shortcut

Type lorem and hit Tab in any HTML file — VS Code (with Emmet) generates a Lorem Ipsum paragraph. Add a number for word count:

lorem10   → 10 words of Lorem Ipsum
lorem50   → 50 words
p*3>lorem → 3 paragraphs in <p> tags
Enter fullscreen mode Exit fullscreen mode

Lorem Ipsum Variants

The classic Lorem Ipsum gets boring. Here are some popular alternatives:

Variant Description
Hipster Ipsum Artisanal craft text with trendy words
Bacon Ipsum Meat-themed placeholder text
Cupcake Ipsum Sweet, dessert-themed filler
Pirate Ipsum Arrr, placeholder text for scallywags
Samuel L. Ipsum Quotes from... you know who
Cat Ipsum Feline-themed nonsense

Fun for internal dev builds. Maybe not for client presentations.

Common Lorem Ipsum Lengths

When building layouts, it helps to know standard sizes:

Short label:     2-3 words    (~15 chars)
Button text:     1-3 words    (~10 chars)
Headline:        5-10 words   (~50 chars)
Subheadline:     10-20 words  (~100 chars)
Short paragraph: 40-60 words  (~300 chars)
Full paragraph:  100-150 words (~700 chars)
Blog post:       300-1000 words
Enter fullscreen mode Exit fullscreen mode

This matters for responsive design — a 3-word headline behaves very differently from a 10-word headline on mobile.

The "Content-First" Argument

Some designers argue against Lorem Ipsum entirely. Their point: designing with fake text leads to layouts that break when real content arrives. Real headlines are rarely perfectly balanced. Real paragraphs aren't uniform length.

They have a point. The best approach:

  1. Start with Lorem Ipsum for initial layout exploration
  2. Switch to real (or realistic) content as soon as the structure is settled
  3. Test with edge cases — very long titles, single-word paragraphs, missing content

Quick Generate

Need Lorem Ipsum right now without writing code or installing anything?

makelorem.com generates paragraphs, sentences, or words of Lorem Ipsum instantly. Copy, paste, done. No signup, works in the browser.


Lorem Ipsum is one of those small things that makes development smoother. It's been around for 500+ years for a reason — it works. Just remember to replace it before shipping. 😅

Do you use classic Lorem Ipsum or one of the fun variants? Share your favorite in the comments 👇

Top comments (0)