Lorem ipsum generator
Placeholder copy by the paragraph, sentence, word or character. Pick a length, take the text, and see exactly what you took. Nothing is fetched and nothing is sent.
Nothing is uploaded and nothing is fetched. The words are assembled in this tab. The counts describe the text itself, not the tags or brackets wrapped around it.
- Say how muchParagraphs, sentences, words or a character budget.
- Choose how it readsClassic Latin or plain English. Text, HTML or JSON.
- Copy it, countedFour figures under the box, then one press to take it.
How to generate placeholder text
Set the amount
Type a number and pick paragraphs, sentences, words or characters. Or choose a target from the Fit to menu and both are set for you.
Pick the flavour and format
Classic Latin or plain English, as plain text, HTML with each paragraph wrapped, or JSON as an array of strings.
Read the count, then copy
Words, characters, sentences and reading time sit under the box. One press puts the whole thing on your clipboard.
Four ways to ask for a length
Most generators offer paragraphs and stop there, which is fine until the thing you are filling has a limit on it. These four cover the jobs people actually bring.
- Paragraphs gives you whole blocks of three to six sentences. The right choice for an article body, a wireframe or a page of a mockup.
- Sentences gives you an exact number of them, broken into paragraphs wherever they naturally fall. Useful for a card, a caption or a product blurb.
- Words gives you the exact count, trimmed to the word and closed with a full stop. This is the one to use against a brief written in words.
- Characters fills up to your number and stops on a whole word, so it never goes over and never cuts a word in half.
Fitting a real limit
The Fit to menu sets the unit and the number together, so a meta description is one choice rather than two. These are the limits the platforms enforce, not the ones they recommend.
| Target | Budget | What happens past it |
|---|---|---|
| SEO page title | 60 characters | Google truncates it in the results page. |
| Meta description | 160 characters | Truncated, or replaced with text from the page. |
| SMS | 160 characters | Split into several messages, each billed separately. |
| X post | 280 characters | Refused unless you pay for the longer limit. |
| Instagram caption | 2,200 characters | Refused. |
These are the same numbers the word counter checks against, on purpose. One tool writes the placeholder and the other measures the real copy that replaces it, so the two must not disagree about what 160 means.
What the three formats are for
Plain text is paragraphs separated by a blank line, and it is what you want nine times out of ten. Figma, Word, Google Docs and any rich text editor all take it as it is and make their own paragraphs from the breaks.
HTML wraps each paragraph in a <p>. Use it when you are pasting into a template, a code view or anywhere the markup is not going to be added for you.
JSON gives you an array of strings, indented and ready to paste into a fixture, a seed script or a test. It is the format nobody else offers and the one a developer filling a database actually needs.
There is no Markdown option because it would produce the same bytes as plain text. A paragraph break in Markdown is a blank line, which is what plain text already gives you.
Where placeholder text is the wrong tool
Filler is for judging shape, not for judging content. A layout that only ever holds lorem ipsum hides two problems until launch: real headlines are longer and less even than filler, and real copy changes what the page needs to be. Fill the page once, then replace a section at a time with something true.
Never ship it. Latin left on a live page is a well-known embarrassment, and it happens because filler is invisible to the person who put it there. Search your templates for lorem before a release. The guide covers where the Latin came from and what it says.
Nothing here is stored. The text is assembled in your tab and is gone when you close it, so generate it when you need it rather than saving it somewhere.
Frequently asked questions
Can I generate an exact number of characters?
You get as many as fit under your number, ending on a whole word. Ask for 160 and you might get 154. That is deliberate. A character amount is nearly always a budget you must not exceed, like a meta description or an SMS, so filling past it would be worse than stopping short. Every generator that lands exactly on the number does it by cutting the last word in half, which is how "consectetu" ends up in a mockup. The Characters figure under the box tells you what you actually got.
Do the counts include the HTML tags?
No. All four figures describe the text, never the markup around it. Switch to HTML and the character count does not move, because the tags are not going into the field you are measuring against. If you need the length of the markup itself, paste it into the word counter, which counts exactly what you give it.
Why is there no Markdown option?
Because it would be the same file. Markdown separates paragraphs with a blank line, and so does plain text, so a Markdown button would produce output identical to the one next to it. The three formats here are genuinely different: plain text, HTML with each paragraph in a <p>, and JSON as an array of strings for seeding a database or a fixture.
Is the text different every time?
Yes. The words are assembled fresh from the vocabulary on every change, so two people asking for five paragraphs get two different blocks. Press "Generate again" for another one at the same settings. Changing the format is the exception: that re-wraps the words already in the box rather than replacing them, because someone who liked a paragraph and wants it as HTML should get that paragraph.
What is in the plain English option?
Ordinary English words with roughly the length distribution of real prose, arranged into sentences that mean nothing. It exists for the client who reads Latin as a bug and asks why the site is in Italian. It sets to about the same depth as the Latin, so a layout judged against one holds up against the other. It is not translated Latin, and it is not written to be read.
Can I paste it straight into Figma, Word or a CMS?
Yes, and plain text is the format to use for all three. Figma and Word take the paragraphs as they are. A CMS with a rich text editor will usually accept plain text and make its own paragraphs, so reach for the HTML option only when you are pasting into a code view or a template file.