How to use the Lorem Ipsum generator
- Choose a language or script. Classic Latin is the default. Switch to Cyrillic, Greek, Hebrew, Arabic, Chinese, Japanese or Korean when the finished piece will be in that script, or to Mixed scripts to stress-test a font.
- Pick what to generate — Paragraphs, Sentences, Words, Characters, List items or Headlines — and type How many. Words and Characters give exact counts, which is what you want when a layout has a hard limit.
- Set the Length. Short, Medium and Long change sentences per paragraph and words per sentence; the hint under the buttons shows the current range. Sentence lengths vary naturally inside that range, so paragraphs don’t end in a neat block.
- Tick the options you need. “Start with Lorem ipsum dolor sit amet…” keeps the familiar opening for Latin and Mixed text. “Wrap in HTML tags” turns the output into
<p>,<li>or<h2>elements, withdir="rtl"added for Hebrew and Arabic. - Copy or download. Press ↻ New text for a different variant, then Copy text or Download .txt (it becomes .html when tags are on). The counters under the text show words, characters with and without spaces, and sentences or items.
Why the script of your placeholder matters
Lorem ipsum was designed for one job: show the gray texture of a paragraph without letting anyone read it. That works well for an English or Spanish layout, because Latin has a similar mix of short and long words and uses the same letters. It falls apart the moment the real text uses another writing system.
A menu, poster or app screen that will be printed in Russian needs Cyrillic letters such as Ж, Щ and Ы. Many display fonts on Google Fonts ship Latin only, and the browser quietly swaps in a fallback font for the missing letters — you won’t see the mismatch with Latin placeholder text, but your client will see it on day one. Greek brings accent marks (ά, έ, ή) that collide with tight line spacing. Hebrew and Arabic run right to left, which flips the whole layout: icons, arrows, numbered lists and alignment. Arabic letters also change shape depending on their position in a word and need taller line spacing to keep their marks clear of the line above.
Chinese and Japanese work differently again: no spaces between words, square characters that all take the same width, full-width punctuation such as 。 and 、, and line breaks that can fall between almost any two characters. The same headline usually needs far fewer characters than in English, yet each one is a full square, so it wraps in a completely different place.
The pseudo text here is built the way these languages build words. Hebrew and Arabic words come from three-letter roots slotted into common patterns, Greek words get one accent on one of the last three syllables and a final ς, Korean syllables are assembled from Hangul consonants and vowels, and particles follow the rule for whether the syllable before them ends in a consonant. The result has believable word shapes and letter frequencies but no meaning.
What each option puts to the test
| Option | What to check with it |
|---|---|
| Latin | Overall texture, ascenders and descenders, rag on the right edge |
| English-like | Word lengths closer to English, short function words such as “the” and “of” |
| Cyrillic | Glyph coverage: Ж, Щ, Ы, Я are missing from Latin-only fonts |
| Greek | Accent marks against your line height, the final sigma ς |
| Hebrew | Right-to-left layout and the final letter forms ך ם ן ף ץ |
| Arabic | Connected letterforms, the Arabic comma ، and question mark ؟ |
| Chinese | No word spaces, full-width punctuation, line breaking |
| Japanese | Kanji, hiragana and katakana mixed in one line |
| Korean | Hangul syllable blocks with spaces between words |
| Mixed scripts | Font fallback and bidirectional text inside one paragraph |
Counting characters for fixed spaces
Use Characters mode whenever the destination has a hard cap. A single SMS holds 160 characters of plain Latin text but only 70 once it contains Cyrillic, Arabic or Chinese, because the message switches to a 16-bit encoding. On X, a post is limited to 280 characters, but each Chinese, Japanese or Korean character counts as two, so the real ceiling is 140. Instagram captions stop at 2,200 characters. Generate exactly that many and drop them into your mockup to see where the “more” fold lands.
For body text, the long-standing typographic guideline is 45–75 characters per line. Generate 66 characters, set them in your chosen font and size, and you have the target width of a comfortable text column. The Layout Grid Generator will tell you how many columns that is.
Tips from practice
Search for “lorem” before you hand anything off. Placeholder text survives into print more often than anyone admits. With Latin it’s easy to find; with other scripts it isn’t, so keep placeholder blocks in a distinct color or on a named layer.
Design with the Long setting, not Medium. Real headlines and product names are always longer than the ones in the mockup. If the layout survives Long headlines in Greek or Russian, it will survive the client’s copy.
Flip the layout, not just the text, for right-to-left. Setting dir="rtl" on a container mirrors flexbox and grid order, and CSS logical properties like margin-inline-start follow automatically. Fixed left and right values don’t, which is where most RTL bugs come from.
Check the font before you check the layout. Paste Mixed scripts text into your design and look for letters that suddenly change style. That’s the fallback font, and it means the typeface you picked doesn’t cover that script. The Font Pairing Generator lets you compare families side by side.