DEV Community

Michael Lip
Michael Lip

Posted on • Originally published at zovo.one

Placeholder Text Considered Harmful (and When to Use It Anyway)

There's a debate in design that never quite gets resolved: should you use lorem ipsum or real content when building a layout? I've been on both sides. After years of building UIs, my position is that placeholder text is a tool with a specific purpose, and the problems arise when you use it beyond that purpose.

Let me explain both sides, and then we'll talk about how to use placeholder text effectively.

The case against lorem ipsum

The argument is straightforward: lorem ipsum hides content problems. When a designer fills a card component with three lines of perfectly balanced Latin, it looks great. Then real content shows up: a product title that wraps to four lines, a description that's two sentences longer than expected, a user's name that contains 47 characters because it's Thai.

Content shapes design. A heading that works in English might not work in German, where compound words make everything 30% longer. A card layout that looks clean with 50-word descriptions falls apart when marketing writes 200-word descriptions for some products and 10-word descriptions for others.

The most common failure mode is this: the developer builds a pixel-perfect layout using placeholder text, the stakeholder approves it, real content goes in, and everything breaks. Then the developer has to redesign under pressure. The placeholder text gave false confidence that the design was done.

The case for lorem ipsum

The counterargument is equally valid: real content doesn't exist yet. When you're building the initial layout for a new product, there's often no content to use. The copywriter hasn't written it. The database is empty. The API isn't built. You need something to fill the space so you can evaluate proportions, spacing, typography, and visual hierarchy.

Using placeholder text lets you focus on the structural decisions without being distracted by the content itself. A designer reading real content unconsciously adjusts the layout to that specific text. With lorem ipsum, they're forced to build a layout that works structurally, independent of any specific content.

The middle ground that works

Here's the approach I've settled on:

Use placeholder text for initial structure and spacing. When you're deciding how many columns a grid should have, how much padding a card needs, or what font size works for body text, lorem ipsum is fine. You're making geometric decisions, and the specific words don't matter.

Switch to realistic content as soon as the structure is stable. "Realistic" doesn't mean final copy. It means content that has the right length, the right variability, and the right language. If you're building a product grid, use real product names from a competitor. If you're building a blog template, paste in an actual article.

Always test with edge cases. The shortest possible content and the longest possible content. A name with one character. A name with fifty characters. A description that's empty. A description that's a full paragraph. These edge cases break layouts, and no amount of lorem ipsum prepares you for them.

Types of placeholder text

Classic lorem ipsum is derived from a passage by Cicero, written in 45 BC. The standard passage starts with "Lorem ipsum dolor sit amet, consectetur adipiscing elit" and continues for several paragraphs. It's been used in typesetting since the 1500s. The text is Latin-adjacent but intentionally garbled -- it's not actually coherent Latin.

The advantage of traditional lorem ipsum is its visual neutrality. Because it's not English, readers don't try to read it, which keeps the focus on the layout. The letter distribution is also similar to English, so it produces realistic-looking text blocks.

Alternatives exist:

Hipster Ipsum uses trendy words and phrases. "Artisan kale chips flannel." It's amusing the first time and distracting every time after.

Cupcake Ipsum uses dessert-related words. Same problem.

Fillerama uses quotes from TV shows. Same problem.

For professional work, I stick with traditional lorem ipsum or language-specific placeholder text when building for a non-English audience. If the site will be in German, I use German placeholder text so the designer accounts for longer word lengths.

Generating placeholder content programmatically

In JavaScript, you can generate placeholder paragraphs without a library:

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

function generateSentence(wordCount) {
  const sentence = Array.from({ length: wordCount }, () =>
    words[Math.floor(Math.random() * words.length)]
  ).join(' ');
  return sentence.charAt(0).toUpperCase() + sentence.slice(1) + '.';
}

function generateParagraph(sentenceCount = 5) {
  return Array.from({ length: sentenceCount }, () =>
    generateSentence(8 + Math.floor(Math.random() * 8))
  ).join(' ');
}
Enter fullscreen mode Exit fullscreen mode

For React projects, you can create a utility component:

function Placeholder({ paragraphs = 3 }) {
  return (
    <div>
      {Array.from({ length: paragraphs }, (_, i) => (
        <p key={i}>{generateParagraph()}</p>
      ))}
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Typography testing with placeholder text

One legitimate and valuable use of placeholder text is testing typographic decisions. When choosing fonts, line heights, and measure (line length), you need blocks of text. Lorem ipsum works well here because you're evaluating visual rhythm, not readability of specific content.

The guidelines for readable body text:

  • Line length (measure): 45-75 characters per line. 66 is often cited as ideal.
  • Line height: 1.4-1.6 for body text, 1.1-1.3 for headings.
  • Font size: 16px minimum for body text on screens.
  • Paragraph spacing: typically equal to the line height or slightly more.

Generate a few paragraphs, apply your typographic settings, and evaluate the texture of the text block. Does it look even? Are there rivers of white space? Is the line height comfortable? These are visual assessments that don't require meaningful content.

The responsive text problem

One thing placeholder text fails to surface is how content reflow behaves across breakpoints. A heading that fits on one line at desktop width might wrap to three lines on mobile. Lorem ipsum won't alert you to this because you haven't written the real heading yet.

The mitigation is to test with deliberately long strings. I sometimes generate paragraphs with specific characteristics: all long words, all short words, words with no natural break points. This stress-tests the layout in ways that standard lorem ipsum doesn't.

/* Prevent long words from breaking layouts */
.content {
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}
Enter fullscreen mode Exit fullscreen mode

For generating placeholder text quickly without writing a generator from scratch, I built a lorem ipsum generator at zovo.one/free-tools/lorem-ipsum-generator that produces paragraphs, sentences, or word counts on demand.

Placeholder text is a development tool, not a design deliverable. Use it to make structural decisions, then replace it with realistic content as early as possible. Test edge cases. Test long strings. Test empty states. The layout that survives real content is the layout that's actually done.


I'm Michael Lip. I build free developer tools at zovo.one. 350+ tools, all private, all free.

Top comments (0)