| # | Preview | Sentences | Words | Chars | Copy |
|---|---|---|---|---|---|
| {{ p.index }} | {{ p.preview }} | {{ p.sentenceCount }} | {{ p.wordCount }} | {{ p.charCount }} |
| Word | Count | Share | Copy |
|---|---|---|---|
| {{ row.word }} | {{ row.count }} | {{ row.share }} |
Lorem ipsum text is placeholder prose used to preview layout and typography when real copy for a page or screen is not ready yet. A lorem ipsum generator for design mockups lets you control how dense the writing feels, so spacing and rhythm look realistic during early reviews. Because the words carry no meaning, readers focus on hierarchy, alignment, and the overall flow instead of getting pulled into the message.
You choose how much text you need, then shape it into short or flowing sentences and group it into paragraphs that resemble real product copy. You can nudge the vocabulary toward classic Latin, a friendlier voice, a playful feel, or a more technical flavor, and you can also push in your own topic terms. The result is ready to paste into drafts, wireframes, and templates, with quick counts that tell you how long it is at a glance.
Imagine a landing page hero, three feature blurbs, and a short footer note that all need different lengths but should still sound like they belong together. Generate a few paragraphs with tighter sentences for cards, then switch to longer sentences for a body section and reuse the same settings when the layout changes. That way you test real looking variation without writing final copy too soon.
Placeholder text can hide problems that only show up with real language, such as long words, numbers, or a dense list of links. Treat the output as a sizing aid, not as a quality check for readability or tone. As soon as you have representative content, swap it in and confirm that the design still holds up.
If you add topic terms or custom words, consider whether they include personal names or confidential project details before you paste the result into shared documents. Keeping your test vocabulary generic helps you share mockups more comfortably across teams.
Use this generator when you want controlled variety, and use a fixed lorem block when you just need a quick neutral filler. For repeatable reviews, keep the same settings and set a seed so the text stays stable across versions.
Placeholder copy is most useful when its volume matches the space you are testing, so this tool tracks how much text it produces as paragraphs, sentences, words, and characters. It also derives a rough reading time and basic distribution views, which helps you spot sections that are unusually dense or unusually sparse.
Generation is word based and range driven. Sentences are assembled from small internal word pools, then finished with configurable casing and punctuation, and paragraphs are built by repeating that sentence process. A tone choice biases the vocabulary toward a themed list, while a Latin blend ratio biases the base pool toward Latin roots versus modern filler.
Metrics are descriptive rather than judgmental. Word frequency shows which tokens repeat most often, and the sentence length chart shows how tightly your sentence sizes cluster around your chosen range. The reading time is a simple estimate and is best used for comparisons across drafts with the same settings.
For comparability, you can provide a seed string to drive a reproducible pseudo-random stream, so identical settings can yield identical text across runs. Without a seed, word choice uses a fresh random stream each time.
| Symbol | Meaning | Unit or Datatype | Source |
|---|---|---|---|
| wtotal | Total words across all sentences | integer | Derived |
| tread | Estimated reading time, lower bounded | minutes | Derived |
| cword | Count of a specific token in the vocabulary table | integer | Derived |
| sword | Share of a token relative to the total word count | percent | Derived |
| Smin, Smax | Sentences per paragraph bounds | integer | Input |
| Wmin, Wmax | Words per sentence bounds | integer | Input |
| R | Punctuation randomness level | 0 to 100 | Input |
| L | Latin blend ratio for the base word pool | 0 to 100 | Input |
Worked example. Use output focus set to paragraphs with an amount of 2, sentences per paragraph set to 3 to 3, words per sentence set to 6 to 6, randomness set to 0, tone set to technical, and seed set to brand-alpha. With the classic opener enabled, the first sentence is the traditional phrase and the rest follow the configured ranges.
A short excerpt from the generated paragraphs for those settings is shown below.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Elit throughput ex crafted story protocol. Schema ad proident dolore officia interface.
Interface release compile interface gentle schema. Throughput nisi protocol interface minim gentle. Ullamco compile eiusmod latency release compile.
| Parameter | Meaning | Unit or Datatype | Typical range | Sensitivity | Notes |
|---|---|---|---|---|---|
| Output focus | Targets paragraphs, an exact sentence total, or a word budget | enum | paragraphs, sentences, words | High | Word focus stops when the budget is met or when the paragraph count exceeds 48, which can yield up to 49 paragraphs. |
| Amount | How many units to target for the selected focus | integer | ≥ 1 | High | Coerced to an integer using floor rounding. |
| Sentences per paragraph | Range used to choose how many sentences each paragraph contains | integer | 1 to 24 | Medium | In sentence focus, each paragraph uses a fixed sentence count per block. |
| Words per sentence | Range used to choose the number of words in each generated sentence | integer | 3 to 36 | Medium | Commas are only considered when a sentence has at least 8 words and randomness is at least 25. |
| Tone | Biases word choice toward a themed vocabulary list | enum | classic, friendly, playful, technical | Medium | When no topic or custom words are provided, the tone list is used often. |
| Latin blend | Biases the base pool toward Latin roots versus modern filler | percent | 0 to 100 | Low | Does not override tone words or your custom and topic terms. |
| Randomness | Controls punctuation variety and the chance of an inserted comma | 0 to 100 | 0 to 100 | Low | At higher values, question marks, exclamation marks, and semicolons can appear. |
| Seed | Replays the same pseudo-random stream for repeatable text | string | optional | High | The generator uses a linear congruential generator (LCG) over a 32 bit state. |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
| Latin base pool size | 58 | words | Constant | Lowercase Latin roots used when the base pool is selected. |
| Modern base pool size | 34 | words | Constant | Modern filler words used when the base pool is selected. |
| Tone list size | 9 | words | Constant | Each tone provides nine themed words. |
| Sentences per paragraph cap | 24 | sentences | Constant | Values above the cap trigger an error message. |
| Words per sentence cap | 36 | words | Constant | Values above the cap trigger an error message. |
| Reading speed | 200 | words per minute | Constant | Used to estimate reading time. |
| Minimum reading time | 0.1 | minutes | Constant | Prevents very small outputs from showing as 0 minutes. |
| Word focus stop threshold | 48 | paragraphs | Constant | Heads-up Generation stops once the paragraph count exceeds 48, so up to 49 paragraphs may be produced. |
| LCG multiplier | 1664525 | integer | Constant | Used for each step of the seeded generator. |
| LCG increment | 1013904223 | integer | Constant | Used for each step of the seeded generator. |
| LCG modulus | 232 | states | Constant | State is maintained as an unsigned 32 bit value. |
| Field | Type | Min | Max | Step or pattern | Error text | Placeholder |
|---|---|---|---|---|---|---|
| Output focus | enum | — | — | paragraphs | sentences | words | Invalid values fall back to paragraphs | — |
| Amount | integer | 1 | — | step 1 | Amount must be at least 1. | 3, 8, or 120 depending on focus |
| Sentences per paragraph min | integer | 1 | — | step 1 | — | — |
| Sentences per paragraph max | integer | 1 | 24 | step 1, must be at least min | Sentences per paragraph capped at 24. Max sentences per paragraph must be at least the minimum. | — |
| Words per sentence min | integer | 3 | — | step 1 | — | — |
| Words per sentence max | integer | 3 | 36 | step 1, must be at least min | Words per sentence capped at 36. Max words per sentence must be at least the minimum. | — |
| Topic focus | text | — | — | split on whitespace, commas, semicolons | — | e.g., design system, onboarding, API docs |
| Custom vocabulary | text | — | — | split on whitespace, commas, semicolons | — | accessibility, analytics, workshop, cohort |
| Seed | text | — | — | trimmed string | — | e.g., brand-alpha |
| Input | Accepted families | Output | Encoding and precision | Notes |
|---|---|---|---|---|
| Wrap style | plain, HTML paragraphs, Markdown paragraphs, bulleted list | Single text block | Text output; casing and punctuation applied per sentence | HTML paragraph mode escapes < and > in the text. |
| Downloads | TXT, CSV, JSON, DOCX, PNG, WebP, JPEG | Files generated from the current output and metrics | Reading time shown to 2 decimals, word share shown to 1 decimal | Chart images are derived from a rendered bar chart and may be cached by the browser. |
Text handling aligns with common browser behavior for Unicode strings and HTML escaping, and numeric rounding follows standard JavaScript formatting. For background reading, the Unicode Standard, the HTML Living Standard, and ECMA-262 are the most relevant references.
Generated text and metrics are produced locally, and no server endpoint is used to transmit your content. Outputs are pseudo-random and have no monetary value.
Placeholder text is easiest to use when you decide the target length first and then tune the texture of the sentences to match your layout.
Example. To fill a two column layout, target 3 paragraphs, set sentences per paragraph to 2 to 4, and set words per sentence to 6 to 12. If a reviewer asks for the same sample again, keep the settings and reuse the same seed.
Pro tip: lock a seed early in a project so layout reviews compare like with like across iterations.
You will end up with consistent filler that matches your layout, plus repeatable settings you can reuse whenever you need the same sample again.
Generated text and metrics are produced locally and are not submitted to a server. The chart view may load a charting script, but it does not upload your content.
It is an estimate based on 200 words per minute with a minimum of 0.1 minutes, shown with two decimal places. Use it to compare drafts, not as a personal speed measure.
Word choice is random unless you set a seed, and the classic opener always uses its fixed length. In word focus, the last paragraph can stop mid paragraph when the remaining budget is reached.
If you need strict word budgets, disable the classic opener.Yes. Use the same seed and keep the same ranges, tone, case, and wrapper settings. Most runs will match exactly, although a rare seed that hashes to zero can fall back to a time based state.
No. The paragraph wrapper escapes the text, so any <tag> characters become plain text. This keeps pasted output safer when inserted into templates.
You can wrap the text as plain paragraphs, HTML paragraphs, Markdown paragraphs, or a bulleted list. Downloads include TXT, CSV tables for metrics, a JSON snapshot, DOCX documents, and chart images.
Enter terms separated by spaces, commas, or semicolons. Punctuation at the edges is removed, single character tokens are ignored, and the remaining words are added as a weighted option during word selection, so they can repeat regularly.
At low values, sentences end with periods only. At 35 and above, question marks can appear, at 55 and above exclamation marks can appear, and at 75 and above semicolons can appear. For sentences of 8 words or more, randomness also controls the chance of inserting one comma.
Text generation does not rely on a server call. The sentence length chart can require a charting script to be present, so that view may be unavailable if it is not cached and the network is blocked.
This package does not include licensing terms in its files, and it contains no payment logic. Any cost or usage policy is determined by the site that hosts the tool.