Open Source · MIT · Zero Dependencies · v2.0.5

Generate Fake Data
at the Speed of Code

A production-grade synthetic data engine for Node.js and Python. Generate 112-column user profiles, time-series logs, and fraud anomalies with 100% parity.

npm install @abhay557/fakedata
quickstart.ts
import fakedata from '@abhay557/fakedata';

// Generate a full user profile
const user = fakedata.data.user();
console.log(user.fullName);  // "Katherine Delmer"

// 8 Supported Locales
const jpUser = fakedata.data.user({ locale: 'jp' });
console.log(jpUser.fullName); // "Haruto Tanaka"

// Time-series & Fraud Anomalies
const ts = fakedata.data.userTimeSeries({ days: 30 });
console.log(ts.activity.length);

Built for real workflows

From seeding databases to building demo apps — fakedata fits into any stage of your pipeline.

Database Seeding

Seed development databases with thousands of realistic user records, addresses, and employment data in seconds.

const users = fakedata.data.users(1000);
db.insertMany('users', users);

Unit & Integration Testing

Replace hardcoded fixtures with dynamic, schema-compliant test data. Run your tests against varied inputs every time.

test('validates user schema', () => {
  const u = fakedata.data.user();
  expect(u.email).toMatch(/@/);
});

UI Prototyping

Build realistic-looking UIs without a backend. Use real names, cities, and emails to present polished demos to stakeholders.

// Python — fill demo cards
import fakedata
card = fakedata.data.creditcard()
render_card(card)

ML Training Datasets

Generate byte-for-byte identical datasets across Python and Node.js. Perfect for training models on correlated profiles.

# Generate 10k users with seed
data = fakedata.data.users(
  10_000, {"seed": 42}
)

Demo & Presentation Data

Instantly populate dashboards and reports with believable user profiles, resumes, and contact information for client demos.

const resumes = fakedata
  .data.resume(10);
renderDashboard(resumes);

Fraud Detection Training

Inject statistical anomalies like velocity attacks, geo-impossible logins, and credit fraud to train classifiers.

// 5% anomalous users
const data = fd.users(10k, { anomaly_rate: 0.05 });

The Unlimited
Streaming CLI

Generate millions of rows directly from your terminal. Streaming writes keep RAM constant — 1M rows, 3 GB file, zero crashes.

  • O(1) Memory
    Never OOM again, no matter the size.
  • Live Progress
    Real-time counter every 10k records.
  • Multi-Format
    CSV, JSON, or Flat — your choice.
  • ML Ready
    Anomaly & null injection via flags.
$ fakedata generate -n 1000000 -f csv -o dataset.csv
fakedata — terminal
CLI streaming preview

Three runtimes, one API

Node.js
@abhay557/fakedata
npm install @abhay557/fakedata
const fd = require('@abhay557/fakedata');
fd.data.users(1000);
fd.data.userTimeSeries({ days: 30 });
fd.data.usersToCSV(1000);
fd.data.usersFlat(10);
TypeScript
@abhay557/fakedata
npm install @abhay557/fakedata
import fakedata from '@abhay557/fakedata';
fakedata.data.users(1000);
fakedata.data.userTimeSeries({ days: 30 });
fakedata.data.usersToCSV(1000);
fakedata.data.usersFlat(10);
Python
fakedata-python
pip install fakedata-python
import fakedata
fakedata.data.users(1000)
fakedata.data.user_time_series({"days": 30})
fakedata.data.users_to_csv(1000)
fakedata.data.users_flat(10)

Explore the full API

Interactive playground with live responses, endpoint explorer, and copy-ready code snippets.

Open Docs →