High-quality mock data for sample apps, demos, and POCs
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
portraits Initial commit Jun 4, 2015
src `Object.entries()` isn't supported by Node 6 Jan 29, 2019
test Switching to karma-host-environment v2 Feb 14, 2019
.gitattributes Enforce LF line endings on Windows Jan 30, 2019
.gitignore Removed old stuff from build tools that we no longer use Jan 30, 2019
LICENSE Initial commit Jun 4, 2015
README.md Merge branch 'typescript-conversion' Feb 15, 2019
_config.yml setup github pages Oct 11, 2018
employees.json Initial commit Jun 4, 2015
karma.conf.js Clarified that IE 11 is not officially supported, though it may still… Feb 15, 2019
projects.json Changed project IDs from strings to numbers Jun 5, 2015


Static mock data

Static mock data (as opposed to randomly-generated mock data) for sample apps, demos, and POCs.

Build Status Coverage Status

npm Dependencies License

OS and Browser Compatibility


  • 100 mock employees, with names, addresses, phone numbers, etc.
  • 100 mock projects, with names, dates, departments, employees assigned, etc.
  • Full-size and thumbnail photos for each employee
  • No dependencies
  • Tested in Node.js and all modern web browsers on Mac, Windows, and Linux
  • All data follows logical rules:
    • Usernames, SSNs, addresses, etc. are unique
    • Birthdates, hire dates, and termination dates are in proper chronological order
    • Employee roles "make sense" (e.g. "full time" and "part time" are mutually exclusive)
    • Employees are only assigned to projects in their own department
    • Employees are only assigned to projects that occurred during their employment


Install using NPM or Yarn:

npm install static-mock-data


The mock data can be used as plain JSON or as JavaScript objects.


const employees = require("static-mock-data/employees.json");

for (let employee of employees) {
  console.log(employee.dob);        // date string
  console.log(employee.portrait);   // relative file path

JavaScript Objects

const mockData = require("static-mock-data");

for (let employee of mockData.employees) {
  console.log(employee.dob);        // Date object
  console.log(employee.portrait);   // absolute file path

Browser support

static-mock-data supports recent versions of every major web browser. Older browsers may require Babel to transpile the code to older versions of JavaScript.

static-mock-data works with popular bundling tools such as Webpack, Rollup, Parcel, and Browserify. Some bundlers may require a bit of configuration, such as setting browser: true in rollup-plugin-resolve.


mockData.employees is an array of objects with the following properties:

Property Data Type Description
username string A alphanumeric username that is unique for each employee
password string An alphanumeric password
name.first string First name
name.last string Last name
gender string "male" or "female"
portrait string The path of the full-size portrait photo
thumbnail string The path of the thumbnail-size portrait photo
email string Email address
address.street string House number and street name
address.city string City name
address.state string U.S. state name (full name, not abbreviation)
address.zip string U.S. zip code, in the format #####
phones array of objects Array of phone objects
phones[].type string "home", "office", or "cell"
phones[].number string Phone number, in the format ###-##-####
ssn string U.S. Social Security Number, in the format ###-##-####. Unique for each employee.
dob Date Date of birth
hiredOn Date Date the employee was hired
terminatedOn Date or null Date the employee was terminated, or null if still employed
department string "Accounting", "Sales", "Human Resources", or "Marketing"
roles array of strings Array of roles, such as "employee", "consultant", "part time", etc.


mockData.projects is an array of objects with the following properties:

Property Data Type Description
id number Numeric ID that is unique for each project
name string Project name that is unique for each project. 55 characters max.
description string Long project description. 2000 characters max
department string "Accounting", "Sales", "Human Resources", or "Marketing"
startedOn Date Date that the project started
endedOn Date or null Date that the project ended, or null if still ongoing
assigned array of strings Array of usernames of employees who are assigned to the project. Projects will only have employees from the same department.


Contributions, enhancements, and bug-fixes are welcome! File an issue on GitHub and submit a pull request.


To build the project locally on your computer:

  1. Clone this repo
    git clone https://github.com/JS-DevTools/static-mock-data.git

  2. Install dependencies
    npm install

  3. Run the build script
    npm run build

  4. Run the tests
    npm test


All JSON data is MIT licensed and can be used however you want.

All images (employee portraits) are licensed under Creative Commons BY-NC-SA 4.0 and have some limitations on their use.

See the LICENSE file for more details.

Big Thanks To

Thanks to these awesome companies for their support of Open Source developers ❤

Travis CI SauceLabs Coveralls