Thumbs.db / .DS_Store の中身を見る

Windows が作る Thumbs.db に残ったサムネイルと、Mac が作る .DS_Store に記録されたファイル名を表示します。何が入っているか確かめてから消せます。すべてブラウザ内で処理し、ファイルは送信されません。

あなたのファイルは安全です — すべてブラウザ内で処理。サーバーには一切送信しません。

Thumbs.db または .DS_Store をここにドロップ

またはクリックして選択。隠しファイルなので、エクスプローラー / Finder で隠しファイルを表示してから選んでください

ファイルはブラウザ内で読み取られ、アップロードされません。


Thumbs.db と .DS_Store — 何が入っていて、消してよいのか

共有フォルダや USB メモリを整理していると、覚えのない Thumbs.db や .DS_Store が出てきます。どちらも OS が自動で作る隠しファイルで、開いても文書は入っていません。Thumbs.db は Windows のエクスプローラーが「サムネイル表示」のために作った縮小画像のキャッシュ、.DS_Store は Mac の Finder がフォルダの表示設定(アイコンの位置、表示形式)を保存したものです。

問題は中身です。Thumbs.db には、元の写真を消したあとも縮小画像が残ります。.DS_Store には Finder が見たファイル名がすべて記録されます。つまり、人に渡すフォルダに混ざっていると、「消したつもりの写真」や「フォルダに何があったか」が伝わります。このツールで中身を確認し、納得してから消してください。

1

隠しファイルを表示する

Windows はエクスプローラーの「表示」→「隠しファイル」にチェック。Mac は Finder で Command + Shift + .(ピリオド)。これで Thumbs.db や .DS_Store が見えるようになります。

2

ここにドロップする

ファイルの中身から Thumbs.db か .DS_Store かを判定し、Thumbs.db ならサムネイルの一覧、.DS_Store なら記録されたファイル名と属性の一覧を表示します。

3

必要な画像は保存する

Thumbs.db のサムネイルは 96×96 や 256×256 程度の小さな画像ですが、元の写真を失っている場合は唯一の手がかりになります。1枚ずつ、または ZIP でまとめて保存できます。

4

確認したら削除する

どちらのファイルも削除して構いません。フォルダの中の他のファイルには影響しません。Windows で Thumbs.db が「使用中」で消せない場合の対処は下の FAQ に書いています。

Thumbs.db を開いた画面。残っていたサムネイル画像が並び、それぞれに元のファイル名と更新日が添えられている。
画面 消したはずの写真の縮小版が、元のファイル名つきで残っています。

Windows Vista 以降のパソコンでは、ローカルのフォルダには Thumbs.db ではなく thumbcache_*.db という別形式のキャッシュが使われ、Thumbs.db はネットワーク上の共有フォルダやリムーバブルドライブでだけ作られます。共有フォルダを NAS に置いている会社で Thumbs.db が増え続けるのはそのためです。


このビューアの仕組み

Thumbs.db と .DS_Store は、どちらも Microsoft と Apple が仕様を公開していない形式です。どちらも過去に解析され、構造は知られています。このビューアはそれぞれを自前で読みます。

Thumbs.db は複合ファイル
Word の .doc や Outlook の .msg と同じ OLE 複合ファイル形式です。このサイトの MSG ビューアで実装した複合ファイルの読み取り(FAT・ディレクトリ・ミニストリーム)をそのまま使っています。中には「Catalog」というストリームと、画像ごとのストリームがあります。
逆順の名前
画像のストリームは、番号の桁を逆に並べた名前で保存されています。12 番目の画像は「21」という名前です。Catalog には番号とファイル名、元ファイルの更新日時が並んでいて、番号で突き合わせて名前を復元します。
画像の取り出し
各ストリームの先頭には Windows の版で長さが違うヘッダが付き、その後に画像本体(ほとんど JPEG、まれに PNG や BMP)が続きます。ヘッダの長さに頼らず、画像形式のシグネチャを探してそこから切り出しています。
.DS_Store はバディアロケータ
「Bud1」というマジックナンバーで始まり、ブロック割り当て表と B ツリーで記録を管理しています。各記録は「ファイル名(UTF-16BE)・4 文字の項目 ID・4 文字の型・値」で、型は long / shor / bool / blob / type / ustr / comp / dutc の 8 種類です。ツリーを根から辿って全記録を読み出します。
日付の変換
Thumbs.db の日時は Windows の FILETIME(1601 年からの 100 ナノ秒単位)、.DS_Store の日時は Mac の 1904 年からの 1/65536 秒単位です。どちらも通常の日時に変換して表示します。

対応していない範囲

Windows Vista 以降のローカルキャッシュ thumbcache_*.db(CMMM 形式)は開けません。Windows 7 以降が共有フォルダに作る Thumbs.db には元のファイル名が記録されておらず(パスのハッシュだけ)、画像しか取り出せません。Windows XP 初期の一部のサムネイルは、JPEG に必要な表(量子化表・ハフマン表)を持たない内部形式で、ブラウザでは表示できないため「表示できません」と示します。.DS_Store の blob 型の値(ウィンドウ位置などの plist)は中身を展開せず、バイト数だけ表示します。壊れた Thumbs.db では、カタログに名前があっても画像が取り出せないことがあります。

よくある質問

Thumbs.db を削除しても大丈夫ですか?
大丈夫です。写真そのものではなく、エクスプローラーが表示を速くするために作った縮小画像のキャッシュです。消しても写真は無事で、必要ならエクスプローラーがまた作ります。
Thumbs.db が「別のプログラムが使用中」で削除できません。
エクスプローラー自身が開いています。そのフォルダを表示しているエクスプローラーの窓を閉じるか、表示形式を「詳細」に変えてから削除してください。それでも消えないときは、別のフォルダに移動してから消すか、再起動後に消します。
Thumbs.db を作らせない設定はありますか?
あります。Windows 10/11 Pro では グループポリシー(gpedit.msc)の「ユーザーの構成」→「管理用テンプレート」→「Windows コンポーネント」→「エクスプローラー」にある、隠しファイル thumbs.db へのサムネイルのキャッシュをオフにする設定(英語名 "Turn off the caching of thumbnails in hidden thumbs.db files")を有効にします。Home では同じ内容をレジストリで設定します(HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer に DisableThumbsDBOnNetworkFolders を DWORD 値 1 で作成)。
.DS_Store を消すと Mac に影響しますか?
そのフォルダのアイコンの位置や表示形式がリセットされるだけです。Finder が次に開いたときに作り直します。Windows の共有フォルダや Git のリポジトリに紛れ込んだものは、消してよいだけでなく消すべきものです。
.DS_Store が GitHub に上がってしまいました。
まず .gitignore に .DS_Store を追加し、git rm --cached .DS_Store で追跡を外して push してください。すでに公開された履歴には残るので、中に見せたくないファイル名が入っていたかをこのツールで確認し、必要なら履歴の書き換えを検討してください。
ファイルはどこかに送られますか?
送られません。解析も画像の復元もブラウザの中で行います。中身を確かめたいのは「見せたくないものが入っているかもしれない」からで、それを外部のサーバーに送るのは筋が通らないので、そうしない作りにしています。
thumbcache_*.db や iconcache_*.db は開けますか?
開けません。Windows Vista 以降のローカルキャッシュで、Thumbs.db とは別の形式(CMMM)です。%LocalAppData%\Microsoft\Windows\Explorer にあり、ディスククリーンアップの「サムネイル」で消せます。