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
| id | firstName | lastName | fullName | username | |
|---|---|---|---|---|---|
| 1 | Alex | Sample | Alex Sample | user001@example.com | demo_user_001 |
| 2 | Blair | Sample | Blair Sample | user002@example.com | demo_user_002 |
| 3 | Casey | Sample | Casey Sample | user003@example.com | demo_user_003 |
| 4 | Drew | Sample | Drew Sample | user004@example.com | demo_user_004 |
| 5 | Ellis | Sample | Ellis Sample | user005@example.com | demo_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 SampleWhen 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.