Generate massive amounts of fake data in Node.js and the browser.
Demo
https://cdn.rawgit.com/Marak/faker.js/master/examples/browser/index.html
Hosted API Microservice
http://faker.hook.io
- Supports all Faker API Methods
- Full-Featured Microservice
- Hosted by hook.io
curl http://faker.hook.io?property=name.findName&locale=de
Usage
Browser
<script src = "faker.js" type = "text/javascript"></script>
<script>
var randomName = faker.name.findName(); // Caitlyn Kerluke
var randomEmail = faker.internet.email(); // Rusty@arne.info
var randomCard = faker.helpers.createCard(); // random contact card containing many properties
</script>
Node.js
var faker = require('faker');
var randomName = faker.name.findName(); // Rowan Nikolaus
var randomEmail = faker.internet.email(); // Kassandra.Haley@erich.biz
var randomCard = faker.helpers.createCard(); // random contact card containing many properties
API
Faker.fake()
faker.js contains a super useful generator method
Faker.fake
for combining faker API methods using a mustache string format.Example:
console.log(faker.fake("{{name.lastName}}, {{name.firstName}} {{name.suffix}}"));
// outputs: "Marks, Dean Sr."
name.lastName()
, name.firstName()
, and name.suffix()
JSDoc API Browser
http://marak.github.io/faker.js/
API Methods
- address
- zipCode
- city
- cityPrefix
- citySuffix
- streetName
- streetAddress
- streetSuffix
- streetPrefix
- secondaryAddress
- county
- country
- countryCode
- state
- stateAbbr
- latitude
- longitude
- commerce
- color
- department
- productName
- price
- productAdjective
- productMaterial
- product
- company
- suffixes
- companyName
- companySuffix
- catchPhrase
- bs
- catchPhraseAdjective
- catchPhraseDescriptor
- catchPhraseNoun
- bsAdjective
- bsBuzz
- bsNoun
- database
- column
- type
- collation
- engine
- date
- past
- future
- between
- recent
- month
- weekday
- fake
- finance
- account
- accountName
- mask
- amount
- transactionType
- currencyCode
- currencyName
- currencySymbol
- bitcoinAddress
- iban
- bic
- hacker
- abbreviation
- adjective
- noun
- verb
- ingverb
- phrase
- helpers
- randomize
- slugify
- replaceSymbolWithNumber
- replaceSymbols
- shuffle
- mustache
- createCard
- contextualCard
- userCard
- createTransaction
- image
- image
- avatar
- imageUrl
- abstract
- animals
- business
- cats
- city
- food
- nightlife
- fashion
- people
- nature
- sports
- technics
- transport
- dataUri
- internet
- avatar
- exampleEmail
- userName
- protocol
- url
- domainName
- domainSuffix
- domainWord
- ip
- ipv6
- userAgent
- color
- mac
- password
- lorem
- word
- words
- sentence
- slug
- sentences
- paragraph
- paragraphs
- text
- lines
- name
- firstName
- lastName
- findName
- jobTitle
- prefix
- suffix
- title
- jobDescriptor
- jobArea
- jobType
- phone
- phoneNumber
- phoneNumberFormat
- phoneFormats
- random
- number
- arrayElement
- objectElement
- uuid
- boolean
- word
- words
- image
- locale
- alphaNumeric
- system
- fileName
- commonFileName
- mimeType
- commonFileType
- commonFileExt
- fileType
- fileExt
- directoryPath
- filePath
- semver
Localization
As of version
v2.0.0
faker.js has support for multiple localities.The default language locale is set to English.
Setting a new locale is simple:
// sets locale to de
faker.locale = "de";
- az
- cz
- de
- de_AT
- de_CH
- en
- en_AU
- en_BORK
- en_CA
- en_GB
- en_IE
- en_IND
- en_US
- en_au_ocker
- es
- es_MX
- fa
- fr
- fr_CA
- ge
- id_ID
- it
- ja
- ko
- nb_NO
- nep
- nl
- pl
- pt_BR
- ru
- sk
- sv
- tr
- uk
- vi
- zh_CN
- zh_TW
Individual Localization Packages
As of vesion
v3.0.0
faker.js supports incremental loading of locales.By default, requiring
faker
will include all locale data.In a production environment, you may only want to include the locale data for a specific set of locales.
// loads only de locale
var faker = require('faker/locale/de');
Setting a randomness seed
If you want consistent results, you can set your own seed:
faker.seed(123);
var firstRandom = faker.random.number();
// Setting the seed again resets the sequence.
faker.seed(123);
var secondRandom = faker.random.number();
console.log(firstRandom === secondRandom);
Tests
npm install .
make test
You can view a code coverage report generated in coverage/lcov-report/index.html.Projects Built with faker.js
Fake JSON Schema
Use faker generators to populate JSON Schema samples. See: https://github.com/pateketrueke/json-schema-faker/
CLI
Run faker generators from Command Line. See: https://github.com/lestoni/faker-cli
Want to see your project added here? Let us know!
Meteor
Meteor Installation
meteor add practicalmeteor:faker
Meteor Usage, both client and server
var randomName = faker.name.findName(); // Rowan Nikolaus
var randomEmail = faker.internet.email(); // Kassandra.Haley@erich.biz
var randomCard = faker.helpers.createCard(); // random contact card containing many properties
Building faker.js
faker uses gulp to automate it's build process. Running the following build command will generate new browser builds, documentation, and code examples for the project.
npm run-script build
Building JSDocs
npm run-script doc