Nano ID ジェネレーター オンライン
カスタムサイズとアルファベットで、URLセーフで衝突耐性のあるNano IDをブラウザ内で生成します。
Nano ID ジェネレーターはすべてブラウザ内で完結します。各IDはWeb Crypto APIを使ってローカルで生成され、ArrayKitに何もアップロードされることはありません。
UUID ジェネレーターを開く
Nano ID について
Nano ID ジェネレーターは、人気のnanoidライブラリと同じ棄却サンプリングアルゴリズムを使って、短くURLセーフで衝突耐性のある一意識別子を生成します。デフォルトでは64文字のURLセーフなアルファベットから21文字のIDを生成し、UUIDとほぼ同等の衝突耐性を約3分の1の長さで実現します。サイズを増減したり、一度に複数のIDをまとめて生成したり、独自のアルファベット(数字のみ、あるいは電話で読み上げるための大文字小文字を区別しないセットなど)を指定することもできます。データベースのキー、セッショントークン、短縮リンクのスラッグなど、UUIDでは長すぎると感じる場面で役立ちます。すべてブラウザ内でローカルに処理されるため、使用を決めるまでIDがサーバーに送られることはありません。
機能
- デフォルトの21文字・64文字アルファベットでURLセーフなNano IDを生成
- IDあたり2〜128文字の範囲で調整可能なサイズ
- ワンクリックで最大500件のNano IDをまとめて生成
- カスタムアルファベット対応 — 出力を数字、16進数、任意の文字セットに制限可能
- 単純なランダムインデックス生成器のモジュロ偏りを避ける、偏りのない棄却サンプリング
- 1行に1つのIDを出力し、コードやスプレッドシート、マイグレーションにそのまま貼り付け可能
- 各IDの生成にブラウザの暗号論的乱数生成器を使用
- すべてデバイス上で完結し、IDがサーバーに送信されることはありません
Nano ID の使い方
- IDのサイズ(デフォルト21)と必要な個数を設定します
- 必要に応じてアルファベットを独自の文字セットに置き換えます
- Generateをクリックし、ブラウザの暗号論的RNGで新しいIDを生成します
- リストをコピーするか、Generateを再度クリックして新しいバッチを取得します
例
入力
size = 21
出力
V1StGXR8_Z5jdHi6B-myT
デフォルトの64文字URLセーフなアルファベットから生成された21文字のNano ID。
よくあるエラーとトラブルシューティング
- カスタムアルファベットの入力が拒否される、またはエラーになる。 — Nano ID ジェネレーターはアルファベットに少なくとも2種類のユニークな文字を必要とします。重複した文字は生成前に自動的に取り除かれます。
- 短いカスタムアルファベットで生成したIDが、想定より長く感じる。 — アルファベットが小さいほど、同じ衝突耐性を得るためにより多くの文字が必要になります。アルファベットを数字のみなどに制限する場合はサイズを増やしてください。
- 衝突なしで安全に生成できるNano IDの数がわからない。 — デフォルトの21文字サイズでは、1回でも衝突が起きる確率が1%に達するまでに、毎秒約1兆個のIDを1000年間生成し続ける必要があります。サイズを小さくするのは、生成するID数もそれだけ少なくなる場合に限りましょう。
よくある質問
- Nano IDとは何ですか?
- Nano IDは短くURLセーフなランダムな一意識別子で、通常は21文字の長さを持ち、暗号論的に安全な乱数から生成されます。UUIDと同等の衝突耐性を、はるかに短い文字列で実現します。
- Nano IDとUUIDはどう違いますか?
- UUIDはバージョンやバリアントのビットを含む定義済み構造を持つ、固定36文字の形式です。Nano IDには固定構造がなく、サイズとアルファベットを自由に選べます。デフォルト設定であれば、より短くても衝突耐性はUUIDと同等です。
- Nano ID ジェネレーターでカスタムアルファベットを使えますか?
- はい。アルファベット欄を任意のユニークな文字セット(数字のみ、16進数の文字、大文字小文字を区別しないセットなど)に置き換えれば、ジェネレーターはその集合からのみIDを生成します。
- Nano ID ジェネレーターは作成したIDをどこかにアップロードしますか?
- いいえ。すべてのNano IDはブラウザの暗号論的乱数生成器を使ってローカルで生成されます。サーバーには何も送信されないため、作成したIDはお使いのデバイス上でのみ確認できます。
- Nano ID ジェネレーターの出力は特定の文字に偏っていますか?
- いいえ。偏りのない棄却サンプリングを使用しており、アルファベットの範囲外に出た乱数バイトはモジュロで縮小せずに破棄するため、アルファベット内のすべての文字が均等な確率で現れます。
- Nano IDのサイズはどのくらいにすべきですか?
- デフォルトの21文字は、一般的な用途に対して安全な選択です。短いID(10〜14文字)はトラフィックの少ない短縮リンクのスラッグに向いており、より強い衝突耐性が必要な大規模システムには長いIDが適しています。
関連ツール
すべての ArrayKit ツール