Forum Post Generator

Fake forum threads and replies for community demos

Generate fake forum thread JSON with titles, body text, categories, upvotes, view counts and nested replies. Prototype community platforms and discussion-forum UIs with realistic placeholder data, all in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What does each thread contain?

Every thread has an id, a question-style title, a category, an author, multi-sentence body text, an upvote count, a view count, a reply count, a pinned flag, a creation timestamp and an array of reply objects. Each reply has its own id, author, body and upvotes.

Discussion data for community UIs

The Forum Post Generator creates fake discussion threads — question-style titles, body text, categories, vote and view counts, and nested replies. It is meant for prototyping community platforms and forum interfaces so you can build thread lists, detail pages and reply trees against realistic data before any backend exists.

How it works

You choose how many threads to create and a per-thread reply cap. For each thread the generator assembles a question-style title from verb and topic phrase pools, picks a category and author, and builds a two-to-four-sentence body from a pool of natural-sounding forum sentences. It then draws a random reply count between zero and your cap and builds that many reply objects, each with its own author, body and upvote tally. Upvotes, view counts and a low-probability pinned flag round out each thread, and a creation timestamp is placed within the last ninety days of a fixed base date.

A seeded pseudo-random source keeps a given configuration stable between renders while Regenerate advances the seed. The output is one object with a threads array; each thread carries its replies inline, so the structure mirrors a thread-with-replies API response and the replyCount field always matches the replies array length.

What the output looks like

Each thread object follows this shape:

{
  "id": "thread-001",
  "title": "How do I set up automated backups in the cloud?",
  "category": "Infrastructure",
  "author": "dev_marcus",
  "body": "I've been trying to get a reliable backup schedule running...",
  "upvotes": 42,
  "views": 318,
  "replyCount": 3,
  "pinned": false,
  "createdAt": "2024-09-12T14:23:00Z",
  "replies": [
    {
      "id": "reply-001",
      "author": "sysadmin_leo",
      "body": "You'll want to look at scheduled jobs combined with...",
      "upvotes": 17
    }
  ]
}

The replyCount always equals replies.length, which is a common API convention that most forum frontends expect and rely on for rendering the reply count badge without reading the full array.

Which UI states you can test

Because the generated data is varied and realistic, a single batch exercises several states at once:

StateHow the data covers it
Empty repliesSome threads get zero replies when cap is above zero
Pinned threadsRoughly one in ten threads has pinned: true
High engagementUpvote and view counts vary widely so you can test sorting
Chronological orderingISO 8601 timestamps span the past ninety days
Paginated listRaise thread count to fill multiple pages

Practical tips

  • Empty state testing. Set the reply cap to zero to generate a clean list of unanswered threads, ideal for testing an empty-state or a “no replies yet” placeholder.
  • Pagination and scroll. Raise the thread count to twenty or thirty to stress-test pagination controls, virtual lists, and infinite-scroll logic on the forum index.
  • Pinned thread UI. The pinned flag appears automatically on roughly one thread in ten, so you can build and verify pinned-thread highlighting without hand-editing any fixture.
  • Stable fixtures. Copy the JSON once, paste it into a static fixture file, and it will always produce the same data — useful for snapshot tests and design reviews where you need the same threads every time.