Tools100% ローカル
← ツール一覧へ戻る

これらのツールについて

各ツールの機能と使いどころ

これらのツールは、開発者・運用者・セキュリティ担当者が日に何度も使う作業 — API から返ってきたトークンのデコード、UUID のさっとした生成、正規表現の再確認、ダウンロードしたばかりのファイルのハッシュ計算 — のための、無駄のないユーティリティベルトです。すべての処理はネイティブの Web Crypto と標準の DOM API を使ってブラウザ内で完結し、貼り付け・入力・ドロップしたものは一切デバイスから出ません。

Base64

プレーンテキストを Base64(RFC 4648)にエンコード、または逆にデコードします。デコードがデフォルトの方向です。日常で圧倒的に多いのがこちらだからです。data: URL を確認するとき、Authorization ヘッダーで届いた JWT セグメントを分解するとき、Slack に貼られたトークンを読むとき、環境変数に紛れ込んだ秘密を取り出すときに使います。エンコードはバイナリ安全な文字列を URL や JSON フィールドに埋め込みたいときの動作です。両方向とも Unicode(UTF-8)を正しく扱います。

TOTP & HOTP — ワンタイムパスワード生成器

TOTP / HOTP 専用ページを開く →

Base32 エンコードされた共有秘密から、認証アプリが表示するのと同じコードを生成します。RFC 6238(時間ベースの TOTP)と RFC 4226(カウンタベースの HOTP)の両方を実装し、現実の 2FA 配備で求められる選択肢一式 — HMAC-SHA1 / SHA-256 / SHA-512、6 / 7 / 8 桁、30 / 60 秒ウィンドウ、明示的な HOTP カウンタ — を提供します。Google Authenticator、1Password、Authy、FreeOTP、その他の RFC 準拠クライアントと互換です。

otpauth:// URI を貼り付けると、その URI のパラメータからすべてのオプションが自動入力されます — サイドチャネルで受け取った URI を、インポート前にじっくり確認したいときに便利です。逆方向では、QR として表示アクションが現在の設定を QR タブに渡し、スマホの認証アプリにそのままスキャンできます。検証サーバーの時計がずれている場合に備えて、前後のウィンドウのコードも常に表示されます。

QR コード生成器

QR 専用ページを開く →

ISO/IEC 18004 に従って任意のテキストや URL を QR コードとして描画します。ここで一番ありがたいのは、otpauth:// URI をスキャン可能なコードに変えてスマホベースの認証器に渡すことですが、Wi-Fi 認証情報、連絡先カード、一回限りの URL など、短いテキストなら何でも使えます。誤り訂正レベルは L / M / Q / H から選べます — 高いほど汚れや折れに強いですが、コードは密になります。結果はベクター SVG(任意サイズで鮮明)または PNG としてダウンロードできます。

URL エンコーダ / デコーダ

RFC 3986 に従って URL コンポーネントをパーセントエンコード・デコードします。デコードがデフォルトです。「ログでこの URL エンコード文字列を見て、読みたい」というのが圧倒的に多いシナリオだからです。範囲は 2 種類:コンポーネントは入力を単一値として扱い、英数字以外をすべてエンコードします — クエリパラメータ値の厳格モードです;完全 URLは URL 構造文字(:/?#[])を保持して、URL 全体がクリック可能なまま残ります。クエリ文字列値やパスセグメントを個別に扱うときはコンポーネント、URL 全体を扱うときは完全 URL を使います。

JSON フォーマッタ

JSON(ECMA-404)を検証、整形、または最小化します。無効な入力では、構文エラーの正確な行と列がハイライトされ、壊れた箇所に直接ジャンプできます。整形では 2 スペース、4 スペース、タブのインデントに対応。API から未整形の塊が届いたとき、深くネストした応答を確認したいとき、ビルド成果物に埋め込む前に最小化したいときに便利です。

JWT デコーダ & 検証ツール

JWT 専用ページを開く →

JSON Web Token(RFC 7519)をデコード・検査します。トークンは Base64 エンコードされた 3 つの部分(ヘッダ、ペイロード、署名)に分割され、それぞれの JSON 内容が整形されて表示されます。標準的な時間クレーム — iatnbfexp — は人間が読める時刻として表示され、トークンが有効な間はライブのカウントダウンも示されます。

署名を検証ボックスにキーを貼り付けると、ブラウザの Web Crypto API を介して暗号検証がローカルで実行されます。サポートされるファミリ:HS256/HS384/HS512 は共有秘密と;RS256/RS384/RS512 および PS256/PS384/PS512 は PEM SPKI 形式の RSA 公開鍵と;ES256/ES384/ES512 は P-256 / P-384 / P-521 の EC 公開鍵と。秘密またはキーは検証実行中だけメモリに保持され、サーバーへ送られたり、ストレージに書かれたり、ログに残ったりはしません。

ハッシュ

暗号学的ハッシュ(FIPS 180-4):SHA-1、SHA-256、SHA-384、SHA-512 を計算します。ファイルをドロップするかテキストを貼り付けるだけ。ダイジェストはブラウザネイティブの Web Crypto 実装である crypto.subtle.digest でローカル計算されます。ダウンロードしたファイルが公開チェックサムと一致するか、コンテンツアドレス指定ストレージのフィンガープリント生成、ペイロードを更に処理する前のクイックな整合性チェックなどに便利です。

Hex

テキストと 16 進バイト列を相互変換します。デコードがデフォルト — 16 進(バイト間に区切りがあってもなくてもよい)を貼り付けて、テキストとして読み出します。hex dump を読むとき、バイナリプロトコルをデバッグするとき、生のバイトはあるが可読形式がまだないときに便利です。エンコード時には区切りオプションでスペース区切り、コロン区切り、連続出力を切り替えられます。

HTML エンティティ

HTML エンティティをエンコード・デコードします。デコードがデフォルト — <&" などだらけのマークアップを貼り付けて、元の文字を読み出します。エンコードモードでは、ユーザー提供のテキストをページに埋め込むのに適した HTML セーフな出力を生成します。入力欄の下にあるリファレンスグリッドには、1 つ 2 つだけ必要なときに個別にコピーできる一般的なエンティティが並んでいます。

正規表現テスター

JavaScript フレーバの正規表現(ECMA-262)をテストします。パターンを入力し、フラグ(g グローバル、i 大文字小文字非区別、m 複数行、s ドットオール)を切り替えると、テストテキスト中のマッチがリアルタイムでハイライトされます。キャプチャグループは色分けされ、完全なマッチ一覧と各グループの内容が下に表示されます。コードに貼り付ける前にパターンを試作する、期待通りに一致しない理由をデバッグする、対話的に正規表現の構文を学ぶのに便利です。

差分

2 つのテキストを比較し、行単位の差分を表示します — 追加は緑、削除は赤。2 つの設定、2 つの API 応答、2 つのログ抜粋など、並べて比較したい何でもに便利です。サマリ行で追加/削除行数の合計が一目でわかります。

カラー

色を HEX、rgb()、または hsl() として貼り付けると、4 つの標準 CSS 形式 — HEX、RGB、HSL、知覚的に均一な OKLCH(CSS Color Module Level 4) — が並んで表示されます。OKLCH は出力としてのみ表示され、テーマパレット生成や、色相に関係なく明度が目に同じに見える色が欲しいときに便利です。

UUID 生成器

暗号学的乱数で UUID(RFC 4122 v4) — データベース、分散システム、キュー ID、API で使われる標準 128 ビット識別子 — を生成します。乱数バイトは crypto.getRandomValues から得られます。生成器の下のバリデータは、貼り付けた UUID が整形されているか、RFC 4122 のどのバージョン(v1〜v5)を主張しているかを示します。

パスワード生成器

NIST SP 800-63B のガイダンスに沿って、暗号学的乱数で生成されたパスワードを作ります。長さと含める文字クラス(小文字、大文字、数字、記号)を選ぶと、設定変更に応じてエントロピー推定がライブで更新されます。乱数源は crypto.getRandomValues、現代のブラウザが TLS 関連操作に使うのと同じ暗号学的に安全な RNG です。アカウントやサービス用の新しい強いパスワードがほしいが、パスワードマネージャのデフォルトに頼りたくないときに便利です。

乱数生成器

乱数専用ページを開く →

ブラウザの crypto.getRandomValues から暗号学的乱数の整数や小数を取り出します。本ページは棄却サンプリングで一様な値を引くので、剰余バイアスはありません — Math.random() は速いですが決定的で、任意の範囲にスケールするとごくわずかに不均一になります。設定可能項目:範囲(正・負・混合)、一度に引く数(最大 10,000)、整数 vs. 小数モード(0〜15 桁の精度)、ユニーク専用モード(部分 Fisher–Yates シャッフルで公平性を確保)、並び順、出力区切り(改行、カンマ、スペース、JSON 配列、CSV 行)。サイコロ、宝くじ抽選、パーセンテージ、ランダムバイト、0〜1 の小数のクイックプリセットも用意されています。

コイントス

コイン専用ページを開く →

本物の 3D アニメーションを伴う本物のコイントスです。結果はコインが回り始める前に crypto.getRandomValues から取り出した 1 ビットで決まるので、トスは純粋に装飾で、結果は証明可能な 50 / 50。両面のラベルを自由にカスタマイズ(はい / いいえ残る / 行く、二択なら何でも)、1 トスあたりのバッチサイズを 1 から 1000 まで、アニメーション速度を遅いから瞬時まで選べ、トスを重ねるごとに表/裏の割合が収束していくのを見られます。セッションログには完全な履歴と最長連続記録が表示されます — 10 連以上の同じ面の連続が期待される確率で実際に起こることを、自分の目で確かめるのに便利です。

Unix 時間

Unix タイムスタンプ(POSIX.1 — 1970-01-01 UTC からの秒数)と読みやすい日時を相互変換します。上部のライブタイムスタンプはあなたの端末の現在時刻(Date.now())で、時計サービスは参照しません。2 列目で日時を選ぶと対応するタイムスタンプが、1 列目にタイムスタンプを貼り付けると UTC、ローカル時刻、人間相対形式(「2 時間前」)が表示されます。ログを読むとき、時間関連のコードをデバッグするとき、あるいは単に 1714363200 が一体何時なのか確認したいときに便利です。

すべての仕組み

すべての操作はあなたのブラウザでローカルに実行されます。ハッシュ、HMAC、乱数生成、Base エンコーディング、正規表現マッチ、フォントレンダリング — すべて。サイトはサードパーティスクリプト、アナリティクス、広告フレームを一切ロードしません。最初のページロード後のネットワークリクエストは静的アセット自体(HTML、CSS、JS、フォント、アイコン)だけで、それも初回のみ — 以降は Service Worker がオフラインで配信します。

貼り付け・入力・ドロップしたものは、ブラウザタブの外には何も送信・保存されません。永続化される状態は数件のユーザー設定(テーマ、カラーパレット、アニメーション切替)のみで、localStorage に保存されます。完全版はプライバシーポリシーを参照してください。

お問い合わせ

質問、バグ報告、追加してほしいツールの提案などは [email protected] までどうぞ。