← RandTools

100 Sample Users: CSV, JSON and SQL

Updated September 9, 2026

Download 100 fixed fictional users to test a table, practice an import or populate a local demo. All three files contain the same records in the same order. They are a repeatable starting fixture, not a random sample of real people.

Generate a fresh 100-user dataset → The tool opens with these six fields selected; its generated values will differ from the fixed downloads.

Preview: first 5 of 100 users

idfirstNamelastNamefullNameemailusername
1AlexSampleAlex Sampleuser001@example.comdemo_user_001
2BlairSampleBlair Sampleuser002@example.comdemo_user_002
3CaseySampleCasey Sampleuser003@example.comdemo_user_003
4DrewSampleDrew Sampleuser004@example.comdemo_user_004
5EllisSampleEllis Sampleuser005@example.comdemo_user_005

Schema: id is an integer from 1 through 100. firstName, lastName, fullName, email and username are strings. Each fullName joins the corresponding first and last names. Email values use example.com; the dataset contains no passwords or real account credentials.

Import CSV into a spreadsheet

Download CSV and use your spreadsheet’s file import command with comma as the delimiter and the first row as headers. You should see six columns and 100 data rows. JSON keeps id numeric; CSV represents values as text until the receiving application interprets them.

Import SQL into a new SQLite database

Download the SQL file, then run these commands from its folder. The file creates a users table and inserts all 100 rows. Use a new demo database: the script deliberately does not replace an existing table.

sqlite3 randtools-demo.db < sample-users.sql
sqlite3 randtools-demo.db "SELECT COUNT(*) FROM users;"
# Expected: 100
sqlite3 randtools-demo.db "SELECT id, fullName FROM users ORDER BY id LIMIT 3;"
# 1|Alex Sample
# 2|Blair Sample
# 3|Casey Sample

The downloadable script is tested with SQLite. Adapt and validate it before using another database. Unlike this fixture file, the live generator exports INSERT statements for a table you create yourself.

Read the JSON in JavaScript

import { readFile } from 'node:fs/promises';
const users = JSON.parse(await readFile('sample-users.json', 'utf8'));
console.log(users.length); // 100
console.log(users[0].fullName); // Alex Sample

When to generate new data

Keep the fixed files when reproducing a bug or comparing screenshots. Open the mock data generator when you need different names or fields. Changing format keeps the same batch; Generate data creates a new one. Inspect the exported fields before importing.

Need just a name column? Generate 100 names and choose Copy names as lines. For a company card alongside your user table, use the fictional company profile example.

For a profile card with a home address and work details, use the fake person generator. Choose Copy profile for readable text or Copy JSON in More actions for structured data. These profiles are separate from the fixed 100-user files above.

Prepared by RandTools. These fixed examples are available to copy and adapt for your own demos. If you want to reference this walkthrough, link to this page so readers can find the files and instructions.

How the tools generate data, and what the results mean →