Faker
Generate massive amounts of fake data in the browser and node.js
README
⚡️ Try it Online
🚀 Features
- 💌 Locations - Generate valid looking Addresses, Zip Codes, Street Names, States, and Countries!
- ⏰ Time-based Data - Past, present, future, recent, soon... whenever!
- 🌏 Localization - Set a locale to generate realistic looking Names, Addresses, and Phone Numbers.
- 💸 Finance - Create stubbed out Account Details, Transactions, and Crypto Addresses.
- 👠 Products - Generate Prices, Product Names, Adjectives, and Descriptions.
- 👾 Hacker Jargon - “Try to reboot the SQL bus, maybe it will bypass the virtual application!”
- 🧍 Names - Generate virtual humans with a complete online and offline identity.
- 🔢 Numbers - Of course, we can also generate random numbers and strings.
Note: Faker tries to generate realistic data and not obvious fake data.
The generated names, addresses, emails, phone numbers, and/or other data might be coincidentally valid information.
Please do not send any of your messages/calls to them from your test setup.
📦 Install
- ``` sh
- npm install --save-dev @faker-js/faker
- ```
🪄 Usage
- ```ts
- import { faker } from '@faker-js/faker';
- // import { faker } from '@faker-js/faker/locale/de';
- export const USERS: User[] = [];
- export function createRandomUser(): User {
- return {
- userId: faker.datatype.uuid(),
- username: faker.internet.userName(),
- email: faker.internet.email(),
- avatar: faker.image.avatar(),
- password: faker.internet.password(),
- birthdate: faker.date.birthdate(),
- registeredAt: faker.date.past(),
- };
- }
- Array.from({ length: 10 }).forEach(() => {
- USERS.push(createRandomUser());
- });
- ```
💎 Modules
An in-depth overview of the API methods is available in the documentation.
The API covers the following modules:
Module | Example | Output |
---|---|---|
-------- | --------------------------------------------- | -------------------------------------------------------------------------------------------------- |
Animal | `faker.animal.cat()` | Norwegian |
Color | `faker.color.rgb()` | #cdfcdc |
Commerce | `faker.commerce.product()` | Polo |
Company | `faker.company.companyName()` | Zboncak |
Database | `faker.database.engine()` | MyISAM |
Datatype | `faker.datatype.uuid()` | 7b16dd12-935e-4acc-8381-b1e457bf0176 |
Date | `faker.date.past()` | Sat |
Finance | `faker.finance.amount()` | ¥23400 |
Git | `faker.git.commitMessage()` | feat: |
Hacker | `faker.hacker.phrase()` | Try |
Helpers | `faker.helpers.arrayElement(['a', | b |
Image | `faker.image.cats()` | https://loremflickr.com/640/480/cats |
Internet | `faker.internet.domainName()` | muddy-neuropathologist.net |
Location | `faker.location.city()` | Lake |
Lorem | `faker.lorem.paragraph()` | Porro |
Music | `faker.music.genre()` | R&B |
Person | `faker.person.firstName()` | Cameron |
Phone | `faker.phone.phoneNumber()` | +1 |
Random | `faker.random.locale()` | fr_CA |
Science | `faker.science.unit()` | `{ |
System | `faker.system.directoryPath()` | /root |
Vehicle | `faker.vehicle.vehicle()` | Lamborghini |
Word | `faker.word.adjective()` | adorable |
Templates
Faker contains a generator method faker.helpers.fake for combining faker API methods using a mustache string format.
- ```ts
- console.log(
- faker.helpers.fake(
- 'Hello {{person.prefix}} {{person.lastName}}, how are you today?'
- )
- );
- ```
🌏 Localization
Faker has support for multiple locales.
The default language locale is set to English.
Setting a new locale is simple:
- ```ts
- // sets locale to de
- faker.locale = 'de';
- ```
See our documentation for a list of provided languages
Please note: not every locale provides data for every module. In our pre-made locales, we fallback to English in such a case as this is the most complete and most commonly used language.
⚙️ Setting a randomness seed
If you want consistent results, you can set your own seed:
- ```ts
- faker.seed(123);
- const firstRandom = faker.number.int();
- // Setting the seed again resets the sequence.
- faker.seed(123);
- const secondRandom = faker.number.int();
- console.log(firstRandom === secondRandom);
- ```
🤝 Sponsors
Faker is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome backers
Sponsors
Backers
✨ Contributing
Please make sure to read the Contributing Guide before making a pull request.
📘 Credits
Thanks to all the people who already contributed to Faker!
The fakerjs.dev website is kindly hosted by the Netlify Team. Also the search functionality is powered by algolia.
📝 Changelog
Detailed changes for each release are documented in the release notes.
📜 What happened to the original faker.js?
Read the team update (January 14th, 2022).