The superfast Lorem Ipsum text generator
Lipsum.pro is a completely free random text generator. It makes placeholder text — also called dummy text, filler text or greeking — for design and development work. Choose characters, words, sentences or paragraphs, slide the matching column to set the amount, and release. The text is ready to copy straight away.
Everything runs in the browser. The tool works with a mouse, a keyboard or a touchscreen. There is no account, no sign up, no limit on how much you generate, and no charge for any of it.
Made for designers, developers and engineers
Placeholder text earns its keep in the gap between a layout and its real copy. Designers fill mockups and wireframes in Figma, Sketch or Penpot to see how a grid behaves before a word is written. Front-end developers stub components and templates while the CMS is still empty. Engineers seed test data and fixtures. Writers check how a headline sits at the length it will really be.
Because the text carries no meaning, everyone reviewing it judges the design — the spacing, the rhythm, the line length — instead of arguing about the words.
Placeholder text in eight scripts
Layouts are rarely English only. Lipsum.pro generates filler in eight writing systems, so a mockup can show the glyph density, line height and reading direction of the language it is actually for. Arabic and Hebrew are set right to left. Chinese and Japanese are set without spaces between words.
The API
Anything the tool generates is also available as a plain GET request. The API is free, needs no key and has no sign up. It is intended for build scripts, design tools, AI assistants, and anything else that needs placeholder text without opening a browser.
GET https://lipsum.pro/api?type=paragraphs&count=3&script=latin&format=json
Parameters
| Parameter | Values | Default | What it does |
|---|---|---|---|
type | characters words sentences paragraphs | words | The unit to count in. |
count | integer | 50 | How many of that unit. Capped at 20,000 characters, 5,000 words, 1,000 sentences or 200 paragraphs. |
script | latin cyrillic greek devanagari arabic hebrew chinese japanese | latin | The writing system to generate in. |
format | plain html markdown json | plain | Output format. html wraps paragraphs in <p>; json adds counts and metadata. |
start | true false | true | Begin with “Lorem ipsum dolor sit amet…”. Latin only. |
pseudo | true false | false | Pseudolocalise: accented and about 40% longer, for internationalisation testing. Latin only. |
Code examples
The same request from a terminal, a front-end build, or a Python fixture script:
curl
curl "https://lipsum.pro/api?type=paragraphs&count=2"
JavaScript / TypeScript
const res = await fetch("https://lipsum.pro/api?type=words&count=40&format=json");
const { text, words, characters } = await res.json();
Node.js
import { writeFile } from "node:fs/promises";
const res = await fetch("https://lipsum.pro/api?type=paragraphs&count=10&format=markdown");
await writeFile("fixture.md", await res.text());
Python
import json, urllib.request url = "https://lipsum.pro/api?type=sentences&count=5&format=json" data = json.load(urllib.request.urlopen(url)) print(data["text"])
PHP
$json = file_get_contents( "https://lipsum.pro/api?type=paragraphs&count=3&format=json" ); $data = json_decode($json, true);
Go
res, _ := http.Get("https://lipsum.pro/api?type=words&count=50")
body, _ := io.ReadAll(res.Body)
Internationalisation testing
# Japanese, to check glyph density and line breaking curl "https://lipsum.pro/api?type=characters&count=280&script=japanese" # Arabic, to check right-to-left layout curl "https://lipsum.pro/api?type=paragraphs&count=2&script=arabic" # Pseudolocalised, to find what truncates before translating anything curl "https://lipsum.pro/api?type=words&count=60&pseudo=true"
Use it from an AI assistant
There is an MCP server, so an assistant can generate placeholder text inside a conversation — filling a component, checking a right-to-left layout, or pseudolocalising to see what breaks. It is free, needs no key, and works in Claude, Cursor and any other MCP client.
Once it is installed, ask for text in plain language:
- “Fill this card component with about 200 characters of Japanese.”
- “Give me five paragraphs of Arabic so I can check the right-to-left layout.”
- “Pseudolocalise forty words — I want to see what truncates.”
Claude Code
claude mcp add lipsum -- npx -y lipsum-mcp
Claude Desktop
{
"mcpServers": {
"lipsum": { "command": "npx", "args": ["-y", "lipsum-mcp"] }
}
}
Node 18 or newer. The package is on npm as lipsum-mcp, and is a thin client over this same API — no account, no key, nothing to configure.
What is Lorem Ipsum?
Lorem Ipsum is placeholder text used to review a layout's typography and spacing without the distraction of readable words. The scrambled Latin comes from a passage of Cicero's De Finibus Bonorum et Malorum, written in 45 BC. Printers have used it as standard filler since the 1500s. Because the words carry no meaning, a reviewer judges the design rather than the copy.
Frequently asked questions
Is Lipsum.pro free?
Yes, completely free. The generator and the API cost nothing, there is no account, no sign up and no limit on how much text you generate.
Can I use the generated text commercially?
Yes. The text is meaningless filler with no authorship or rights attached, so you can use it in client work, products and templates without restriction.
What is the difference between Lorem Ipsum, dummy text and filler text?
They are the same idea under different names. Lorem Ipsum is the traditional scrambled Latin; dummy text, filler text, placeholder text and greeking all describe any stand-in copy used while a layout is being designed.
Does it work on a phone?
Yes. Slide a column with your finger and release, or type an exact amount. Everything runs in the browser.
Can I get HTML, Markdown or JSON?
Yes. Change the output format above, or pass format=html, format=markdown or format=json to the API.
Do you store what I generate?
No. The text is generated in your browser and is never sent anywhere. Usage is measured in aggregate only.
Can I generate right-to-left or CJK placeholder text?
Yes. Arabic and Hebrew are set right to left, and Chinese and Japanese are set without spaces between words, so a layout can be checked against the real reading direction and glyph density.
Can an AI assistant use Lipsum.pro?
Yes. The free API takes a plain GET request and returns plain text, HTML, Markdown or JSON, so an assistant or agent can call it directly.
Does Lipsum.pro use cookies?
Only for anonymous, aggregate analytics and for advertising. See the cookie policy and the privacy policy.
Can I use it with Figma, Sketch or another design tool?
Yes. Generate the text here, copy it, and paste it into any design tool — there is no plugin to install and nothing to sign up for.
How do I get placeholder text into my code?
Copy the HTML, Markdown or JSON output straight into your project, or call the free API from a build script so the text is generated as part of your workflow.
Can I use it to seed test data?
Yes. The JSON output and the API are meant for exactly that — fixtures, seed scripts, empty-state screens and UI tests that need realistic text of a known length.
What is pseudolocalisation, and when would I use it?
Turn it on and the Latin text comes back accented and about 40% longer — roughly what German or Finnish does to an English layout. Two faults show up immediately: any text without glyph coverage renders as boxes, and anything that truncates or overflows at that length will truncate for real once translated. It is a fast way to test a layout for internationalisation before a single string has been translated.