ファイルを開く
どんなファイルでも選べます。ファイルは端末内で読み込まれます。
ファイルの中身を実際に見る
このツールは、画像・文書・アーカイブ、あるいは正体不明のファイルなど、どんなファイルでも開き、その生バイトを 16 進ダンプとして表示します — オフセットの列、16 進数のバイト、そしてその ASCII 表現を並べて確認できます。ファイルは端末内で読み込まれるため、どこにも送りたくないファイルや、そのアプリで開いて安全かどうか分からないファイルを確認するのに向いています。
読み取り専用です。編集・保存・変換は行いません — あくまで見るためのツールで、何かを変更することはありません。大きなファイルでも軽快に動くのは、画面に表示されている行だけを描画しているからです。数百万行あるファイルをスクロールしても、数百万個の要素が画面に存在するわけではありません。
ファイルが端末から出ない理由
ここでのプライバシーは約束ではなく仕組みです。送信先のサーバーが存在しないため、アップロードという工程がそもそもありません。
- ファイルの読み込みはすべてブラウザ内で行われます。
- ページは静的ファイルとして配信され、データを伴うリクエストは送信しません。
- ソースは公開されており、誰でも読めます(MIT)。
- オフラインで動作します。これは、データが端末から出ないからこそ可能です。
ご自分で確かめるなら、ファイルを開くときにブラウザの Network パネルを開いてください。中身を運ぶリクエストは出ていません。 ソースを読む。
使い方
-
ファイルを開く
どんなファイルでもクリックで選択するか、ページ上にドロップします。形式を問わず端末内で読み込まれます。
-
ダンプを読む
各行にオフセット・16 進バイト・ASCII 表現が並びます。1 行あたりのバイト数(8・16・32)を切り替えて、ファイルに合わせられます。
-
移動・検索する
特定のバイトオフセットへ直接移動したり、16 進バイト列や文字列を検索したりできます。デコードされたテキストパネルでは、現在画面に表示中のバイトを ASCII・UTF-8・Latin-1 のいずれかで確認できます。
よくある質問
ファイルはどこかにアップロードされますか?
いいえ。ファイルの読み込みはすべてブラウザ内で完結します。サーバー側の処理が無いため、中身が端末の外に出る経路がありません。ソースは公開されており、ブラウザの Network パネルで確認できます。
どんなファイル形式を開けますか?
どんなファイルでも開けます。許可リストは設けていません — hex viewer の目的は、種類が分からない、あるいは信頼できないファイルの中身を確認することだからです。非常に大きなファイル(数百 MB 単位)の場合は、読み込みや検索に時間がかかりメモリを多く使う可能性がある旨を表示します。
ファイルの種類を教えてくれますか?
先頭のバイトを、PNG・JPEG・PDF・ZIP・GZIP という代表的な数種類のシグネチャと照合し、一致すれば推定結果を表示します。これは簡易的な確認であり、本格的なファイル識別機能ではありません。この 5 種類に一致しなかった場合でも、それはファイルが不正だという意味ではなく、単にこの簡易チェックでは認識できなかったというだけです。
ファイルを編集できますか?
いいえ。これはバイトを確認するための読み取り専用ビューアーで、変更・保存・書き出しは一切行いません。
検索はどのように動作しますか?
16 進検索とテキスト検索を切り替えられます。16 進モードは、入力した 16 進数のペア(例: 89 50 4e 47)に一致するバイト列を探します。テキストモードは、入力した文字列を UTF-8 でエンコードしてそのバイト列を検索するため、通常の ASCII 文字列にもそのまま使えます。「次へ」「前へ」はファイルの末尾・先頭まで達すると一周して続きを探します。
デコードされたテキストパネルは何のためにありますか?
16 進バイトの隣にある ASCII の列は、バイトごとに 1 文字を表示する仕組みのため、複数バイトから成る文字を正しく表示できません。デコードされたテキストパネルは、現在画面に表示中のバイトをひとまとまりとして扱い、選んだエンコーディング(ASCII・UTF-8・Latin-1)でデコードします。そのため、そのファイルの該当部分が実際にそのエンコーディングのテキストであれば、アクセント付き文字や CJK 文字(漢字・かな等)も正しく表示されます。
オフラインでも使えますか?
はい。PWA なので、一度アクセスすればキャッシュされ、ネット接続が無くても開けます。ホーム画面に追加することもできます。
ファイルサイズに上限はありますか?
固定の上限はありませんが、ファイルを開くとその中身が一度メモリに読み込まれるため、実際の上限は端末のメモリに依存します。数百 MB を超えるファイルでは、読み込みや検索に時間がかかりメモリを多く使う可能性がある旨を表示します。