OSS探訪GitHubでログイン

テストや開発向けに人物・住所・商品など現実らしいダミーデータを大量生成する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
15,509
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/05
ページ内ナビ

概要

Fakerは、テスト・fixture・UI確認向けに人物名、住所、日時、金融情報、商品、文字列などのダミーデータを生成するlibraryです。多数のlocaleを切り替えられ、seedを固定すれば同じ疑似乱数列を再現できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

人物・住所・日時・商品など用途別moduleからデータを作る

person、location、date、finance、commerce、number、stringなどのmoduleを使い、test fixtureやsample dataをコードから生成できます。必要な件数をfaker.helpers.multipleなどでまとめて作ることもできます。

出典:[1]

localeを切り替えて地域ごとの形式に近いデータを生成する

70を超えるlocaleが用意され、名前、住所、電話番号などを地域別の定義から生成できます。個別localeに不足する定義がある場合はfallbackを組み合わせることもできます。

出典:[1]

seedを固定してテスト結果を再現する

faker.seed()で乱数seedを設定すると生成順序を再現できます。random fixtureを使うtestでも、失敗時に同じ入力を再生成しやすくなります。

出典:[1]

向いている用途

unit test・画面確認・seed dataで大量のsample値が必要な場合に向く

手作業で名前や住所を作る代わりに、test data、Storybook等の画面確認、開発用seed、性能確認用の大量recordを生成したい用途に適します。

出典:[1]

導入前の確認

10.6.0は対応Node.js versionが限定される

package metadataはNode.js ^20.19.0 || ^22.13.0 || ^23.5.0 || >=24.0.0、npm >=10をengineとして宣言しています。CIや開発環境のNode.js versionを導入前に確認してください。

出典:[2]

生成データは匿名化済み実データではなく、偶然実在情報と一致し得る

READMEは生成された名前、住所、メールアドレス、電話番号などが偶然実在情報と一致する可能性を明記しています。production通知経路や外部送信先へ流さず、テスト専用の境界で利用してください。

出典:[1]

参考にした公式資料

  1. [1]Faker v10.6.0 README(2026-10-05)
  2. [2]Faker v10.6.0 package metadata(2026-10-05)
  3. [3]Faker v10.6.0 changelog(2026-10-05)
  4. [4]Faker v10.6.0 release(2026-10-05)
  5. [5]Faker license(2026-10-05)
編集部からの補足

生成値は現実らしく見えることを重視しており、名前・住所・メールアドレス・電話番号などが偶然実在情報と一致する可能性があります。テスト環境から生成先へ実際にメール送信・電話発信しない設計にしてください。

3ステップで試す

  1. 1

    Faker 10.6.0を開発依存として導入する

    READMEの導入方法に沿い、review対象versionを一時projectへ固定します。

    demo=$(mktemp -d "${TMPDIR:-/tmp}/faker.XXXXXX") && cd "$demo" && npm init -y >/dev/null && npm install --save-exact --save-dev @faker-js/faker@10.6.0
  2. 2

    seedで再現できるダミーデータ生成scriptを作る

    同じseedを設定すると同じ生成順序を再現できることを、人物名とメールアドレスの例で確認します。

    printf "%s\n" "import {faker} from '@faker-js/faker';" "faker.seed(123);" "const first = {name: faker.person.fullName(), email: faker.internet.email()};" "faker.seed(123);" "const second = {name: faker.person.fullName(), email: faker.internet.email()};" "if (JSON.stringify(first) !== JSON.stringify(second)) process.exit(1);" "console.log(first);" > demo.mjs
  3. 3

    Node.jsで生成結果を確認する

    seedを固定した2回の生成結果が一致し、ダミーデータを取得できることを確認します。

    node demo.mjs
公式READMEで確認

成長

成長の推移 · 直近30日

15,509 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
70
Open PR
17

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • faker
  • data
  • fake
  • nodejs
  • browser
  • javascript
  • typescript
Stars
15,509
Forks
1,130
Watchers
38
Open Issues
81
Contributors
417
所有者種別
Organization
主要言語
TypeScript
ライセンス
MIT
リポジトリ最終更新
2026/10/05

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?