tech-book-labs
データユーティリティ · 最終検証 2026-05-10 · uuid 14.0.0 · 初公開 2026-05-09

uuid v14 で v4 / v7 を生成して検証する

uuid v14 系の API(v4 ランダム / v7 時刻 prefix / validate / version)を最小コードと触れる demo で確認する実装メモ。

uuid id-generation javascript

検証日: 2026-05-09

使用バージョン: uuid@14.0.0

対象: ID をクライアント側で生成したい / DB の主キーを v7 で時系列ソート可能にしたい

uuid v14 の API(v4(ランダム)/ v7(時刻 prefix 付き)/ validate / version)を最小コードで使うパターン。v4 と v7 の使い分け、ブラウザ標準 crypto.randomUUID() との関係を動く demo で確認します。

触って試す

    v4(ランダム)と v7(時刻 prefix)のどちらを生成するかと、貼り付けた UUID の検証が即座に確認できる。

    API 最小サンプル

    v4 / v7 を import して 1 行で生成。validate で形式チェック、version でバージョン番号を取得:

    import { v4 as uuidv4, v7 as uuidv7, validate, version } from "uuid";
    
    const id = uuidv4();          // ランダム: "1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed"
    const ord = uuidv7();          // 時刻 prefix: "0192a07e-..." 先頭が時系列
    validate(id);                  // true
    version(id);                   // 4

    v4 と v7 の使い分け

    v4v7
    生成方式完全ランダム先頭 48bit が UNIX ms
    時系列ソート可能×
    インデックス局所性(B-tree)△(ランダムで断片化)○(挿入が末尾に集まる)
    衝突確率実質ゼロ(122bit ランダム)実質ゼロ(74bit ランダム + 時刻)

    DB の主キー候補なら v7 が現代的選択。クライアント側のローカル ID には v4 で十分。

    v4 と v7 のビット構造 — v7 は先頭 48bit が UNIX ms なので時系列ソートできる (クリックで拡大)

    ブラウザ環境(crypto.randomUUID() との関係)

    ブラウザには標準で crypto.randomUUID() がある(v4 のみ生成)。

    crypto.randomUUID();  // "..." (v4 相当、import 不要)

    v4 だけでよく、ブラウザ環境のみであれば追加 dep 不要。uuid パッケージは:

    • v7 / v6 / v3 / v5 など他バージョンが必要
    • Node + browser 双方で動かしたい
    • validate / version などのユーティリティが欲しい

    時に検討する。

    つまずいたポイント

    • v3 / v5 は名前空間が必要(uuidv5(name, namespace))。namespace は別の UUID
    • validate は形式だけ確認(version は別関数で取る)
    • @types/uuid は v14 で deprecated(本体に型同梱、別途追加不要)
    • 古い記事は uuid/v4 のサブパス import(v9 以前)— v14 系では import { v4 } from "uuid"

    評価

    観点評価
    学習コスト
    型サポート◎(本体に同梱)
    バンドルサイズ○(tree-shake で必要分のみ)

    関連 Topic / 関連書籍

    この記事と関係する tech-book.net の Topic と、それぞれの Topic に紐づく書籍:

    tech-book.net /books/9784297144944

    JavaScriptによるはじめてのアルゴリズム入門

    河西 朝雄
    詳細を tech-book.net で見る
    tech-book.net /books/9784873118086

    Python と JavaScriptではじめるデータビジュアライゼーション

    Kyran Dale/嶋田 健志/木下 哲也
    詳細を tech-book.net で見る
    tech-book.net /books/9784839966645

    React Native+Expoではじめるスマホアプリ開発 : JavaScriptによるアプリ構築の実際

    松澤 太郎 · マイナビ出版 · 2018年

    「React Native」は、Facebookが開発しているスマートフォンアプリ向けの開発環境です。ほとんどのコードをJav…

    詳細を tech-book.net で見る
    tech-book.net /books/9784627857216

    はじめてのWebデザイン&プログラミング : HTML、CSS、JavaScript、PHPの基本

    村上 祐治
    詳細を tech-book.net で見る
    tech-book.net /books/9784297138714

    フロントエンドの知識地図ーー 一冊でHTML/CSS/JavaScriptの開発技術が学べる本

    株式会社ICS 池田 泰延/西原 翼/松本 ゆき
    詳細を tech-book.net で見る