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 の使い分け
| 軸 | v4 | v7 |
|---|---|---|
| 生成方式 | 完全ランダム | 先頭 48bit が UNIX ms |
| 時系列ソート可能 | × | ○ |
| インデックス局所性(B-tree) | △(ランダムで断片化) | ○(挿入が末尾に集まる) |
| 衝突確率 | 実質ゼロ(122bit ランダム) | 実質ゼロ(74bit ランダム + 時刻) |
DB の主キー候補なら v7 が現代的選択。クライアント側のローカル ID には v4 で十分。
ブラウザ環境(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 で見る