Faker.js vs Fishery
Faker.js
fakerjs.devFishery
github.comSide by side
| Figure | Faker.js | Fishery |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Test Data Generation Tools | 7.5 (#16) | 7.7 (#11) |
| Installation | The guide documents installation through npm, pnpm, yarn, and Deno. | The README gives npm and Yarn commands for installing Fishery as a development dependency. |
| Purpose | Faker generates fake but realistic data for testing and development. | Fishery is a JavaScript library for setting up objects for tests and other data needs. |
Plans
In their own words
Faker.js
Faker.js is a free JavaScript library for generating synthetic data that resembles realistic information during testing and development. Its modules produce person, location, date, finance, commerce, and other data. Documented uses include unit tests, performance tests, demos, and development before a backend is complete. Pre-built instances cover more than 70 locales, and custom locales can be created. The implementation runs in browsers and Node.js; Faker v10 requires Node.js 20 or newer. Installation guidance covers npm, pnpm, yarn, and Deno, with examples for Vitest, Jest, Cypress, and Playwright. A seed can make generated values repeatable, although identical seeds may produce different results between Faker versions. The full package exceeds 5 MiB when minified, and its guide advises against deploying the entire package in a web app. Locale coverage varies, with some combinations using English fallback data or lacking applicable data. Faker is MIT licensed for commercial and non-commercial use and is self-hosted.
Fishery
Fishery is a free JavaScript library for preparing objects as test data and for other situations where JavaScript data needs setup. Its factories define defaults, and build() creates objects with supplied parameters layered over those defaults. TypeScript users can obtain typed factory parameters and return objects, while the library also works without TypeScript. Factories may define onCreate behavior for asynchronous work; create() then performs that work and returns a promise. Additional factory capabilities include sequences, transient parameters, associations, and hooks that run after building or creating objects. Developers can extend factories with reusable builder methods by subclassing Factory. The documentation describes using factories alongside other factories to build associated objects. Installation instructions cover npm and Yarn as development dependencies. The repository identifies Fishery as free software under the MIT license and says thoughtbot, inc. maintains and funds it. GitHub Issues is the listed channel for bug reports and change requests.