GPT トークナイザー(cl100k_base の本物 BPE)
Web処理はすべてブラウザ内で完結します。データは送信されません
これは本物の BPE トークン化で、「4 文字で 1 トークン」といった概算ではありません。概算は英文の散文ではたまたま近いものの、中国語(1 文字がしばしば 1〜2 トークン)、コード(インデントや記号の切り方は BPE 次第)、課金とコンテキスト予算(数え間違えたトークンがそのまま費用)では必ず外します。 公式の cl100k_base 規則に従います。tiktoken の分割正規表現でテキストを断片に分け、各断片について「rank が最小の隣接ペアを結合」し、rank をトークン id に戻します。したがって結果は OpenAI 公式と一致します —— `"hello world"` は `[15339, 1917]`、`"你好"` は `[57668, 53901]`。 語彙(約 1 MB)はこのページだけ必要時に読み込み、展開はブラウザ内蔵の `DecompressionStream` で行います。外部ライブラリも通信も不要です。処理はすべてブラウザ内で完結し、貼り付けたテキストはページから出ません。
機能
- 本物の BPE:公式 cl100k_base の分割正規表現 + 最小 rank ペアの結合
- 各トークンの id とテキストを行ごとに表示
- 漢字が 2 トークンに分かれる場合、UTF-8 の途中は文字化けではなく 16 進で表示
- トークン数・文字数・UTF-8 バイト数を表示
- 「バイト/トークン」比を算出(課金やコンテキスト見積もりに便利)
- 中国語・英語・コードを公式規則で分割
- 語彙はこのページのみで読み込み、他のページを重くしない
使い方
- トークン化したいテキストを貼り付けます
- トークン数・文字数・バイト数がすぐ表示されます
- 下に各トークンの id とテキストが並びます
- 不要なら一覧やバイト表示をオフにできます
よくある質問
- 本物のトークン化ですか、概算ですか?
- 本物です。cl100k_base の完全な BPE 語彙(約 1 MB)を読み込み、tiktoken の公式規則で分割・結合するため、OpenAI 公式とトークン単位で一致します。`"hello world"` → `[15339, 1917]`、`"你好"` → `[57668, 53901]` で確認できます。
- 「你好世界」が 2 ではなく 5 トークンなのはなぜ?
- cl100k_base には「你」「好」のような単字トークンしかなく、「世界」は 1 トークンではありません。`3574 244 98220` に分割されます(`3574` は「世」の最初の 2 バイトなので 16 進表示)。`[57668, 53901]` は「你好」の結果です —— この二つは混同しやすい例です。
- GPT-4o の o200k_base に対応しますか?
- 現在は cl100k_base(GPT-3.5 / GPT-4 が使うもの)のみです。持っていない語彙を持っているとは言いません。別の語彙はさらに約 1 MB のデータを伴うため、必要になった時点で追加します。
- 通信しますか?
- しません。語彙はページに同梱され、展開はブラウザ内で行います。入力したテキストは端末内の計算にのみ使われ、どこにも送信されません。
関連ツール
文字数カウント
テキスト英語は単語数、日本語や中国語は字数で別々に数えます。文字数・行数・バイト数・読了時間も同時に出し、すべてブラウザ内で処理するので送信しません。
出現回数の集計
テキスト文字・語・行・指定した文字列がそれぞれ何回現れるかを集計し、回数順と割合で表示します。空白や改行には記号を付けます。
テキスト診断
テキスト見えないゼロ幅文字・BOM・同形異体文字を検出し、正規化形式・改行コード・4 通りの文字数を報告します。すべてブラウザ内で処理します。
URL 解析
WebURL を解析し、スキーム・ホスト・ポート・パス・クエリパラメータ・アンカーに分解します。パラメータは元の値とデコード値を並記。すべてブラウザ内で処理します。
UA 解析
WebUser-Agent を解析し、ブラウザ・バージョン・OS・デバイス種別・エンジンを判定します。判定はパターン照合による概算です。すべてブラウザ内で処理します。
HTTP ステータスコード
WebHTTP ステータスコードの検索。番号から意味を、キーワードから番号を引けます。1xx〜5xx の分類・利用場面・確認のポイント付き。すべてブラウザ内で処理します。