ByteScope

Photo Date Fixer

カメラの時計や時差が違っていた?写真全部の EXIF 撮影日時を同じ分だけずらし、記録を残し、画素には触れません。

フォルダはブラウザがあなたのパソコン上で直接開きます。写真の読み込みも書き込みもローカルディスクの中だけ — どこにもアップロードされません。

フォルダ選択

撮影日時が間違っている、または入っていない JPEG 写真のフォルダを選んでください。

フォルダ
—
ファイル
0
読み込み済み
0 / 0

写真

このフォルダのファイル形式

    修正の内容

    過去にずらすにはマイナスを付けてください。プレビューには常に「元の日時 → 修正後」が表示されます。

    ずらす量が 0 のままです。

    修正後のファイルの保存先
    0 / 0

    このツールがしないこと

    • 本当の撮影日時を知っているわけではありません。あなたが指定したずらし量や日付をそのまま適用するだけです。
    • これは「直す」ための道具で、好きな日付を書き込むためのものではありません。1 枚ごとに自由に日付を入れる欄はありません。ただし改ざん防止をうたうものでもありません。日付を編集できる道具は、間違った日付も書けるからです。
    • MakerNote 内のメーカー独自の日時、GPS のタイムスタンプ、ファイルシステム上の日付は変更しません。
    • Google フォトや iCloud などのクラウドアルバムは、独自に時刻のコピーを持っていることがあります。ローカルのファイルを直しても、そちらは更新されません。
    • 今のところ JPEG だけです。HEIC、PNG、WebP、動画、RAW は一覧に載りますが変更されません。
    • 既存の OffsetTime フィールドには触れず、無い場合に追加もしません。
    • ファイルを書き込むと、ファイルシステム上の更新日時は今の時刻になります。写真アプリは EXIF の日時を読むので、普通は問題になりません。

    ブラウザの対応状況

    ファイルをその場でリネーム・削除するには File System Access API が必要で、対応しているのは Chromium 系ブラウザだけです。対応・非対応にかかわらず、以下の操作はすべてこのマシン上で行われます — アップロードは一切ありません。

    機能ChromeEdgeFirefoxSafari
    ディスクからフォルダを開くwindow.showDirectoryPicker — Chrome/Edge 86 以降、デスクトップのみ✓対応✓対応✗非対応✗非対応
    ファイルをその場でリネームFileSystemFileHandle.move — Chrome/Edge 111 以降✓対応✓対応✗非対応✗非対応
    ファイルをその場で削除FileSystemDirectoryHandle.removeEntry✓対応✓対応✗非対応✗非対応
    次回のためにフォルダを記憶ハンドルはこの端末の IndexedDB に保存されますが、権限は毎回あらためて確認されます✓対応✓対応✗非対応✗非対応

    このブラウザでの検出結果

    • window.showDirectoryPicker …
    • FileSystemFileHandle.move …
    • indexedDB …

    Firefox や Safari、またはスマートフォンやタブレットでは、このページは手順を説明できても実行はできません。デスクトップ版の Chrome か Edge で開いてください。

    このツールについて

    撮影日時が狂う理由と、それが困る理由

    旅行から帰ってきたら、カメラが日本時間のままで写真が全部 1 時間ずれていた。カメラの時計が 7 分遅れていて、スマホで撮った写真と混ぜると順番がぐちゃぐちゃになる。スキャンした古い写真には日付がそもそも入っていない。撮影日時は EXIF に入っていて、/photo-organizer のフォルダ分けも /bulk-rename のリネームもそれを見ています。ここが間違っていると、その上に作ったフォルダもファイル名も全部間違います。

    2 つのモード。どちらも「直す」ための設計で、「書き換える」ためではない

    一括シフト:日・時・分・秒の差分を指定すると、選んだ JPEG すべてがその分だけ動きます。1 枚ごとに好きな日付を打ち込む欄はなく、プレビューは常に「元の値 → 修正後」で表示されます。空欄だけ補完:日付を 1 つ指定すると(年だけ、年月だけでも可。1 日 00:00:00 に補われます)、DateTimeOriginal が空のファイルにだけ書き込みます。すでに日付のあるファイルは触らずグレー表示になります。EXIF 自体がないスキャン JPEG には最小限の EXIF ブロックを追加して、日付の置き場所を作ります。2 台のカメラの自動合わせとタイムゾーン変換は次のバージョンの予定で、今は測った差分を 1 台分のまとめて適用する形です。

    書き換えるもの、あえて触らないもの

    書き換えるのは DateTimeOriginal と DateTimeDigitized、そしてオプションで DateTime です。どれも 20 バイト固定の ASCII なので、新しい値を元の位置にそのまま上書きし、画像データには 1 バイトも触れません。GPS の時刻、MakerNote 内のメーカー独自の日付、ファイルシステムの作成日時はそのままです。XMP にも日付が入っているファイルは、このバージョンでは変更せず、ファイルごとに注意を表示します。Lightroom などは XMP の日付を優先して読むことがあるためです。最初のバージョンは JPEG のみ対応で、HEIC・PNG・WebP・動画・RAW は後のバージョンになります。iPhone の HEIC は今のところ非対応として表示されます。

    既定はコピー保存、記録は毎回

    既定では修正後のファイルを別に選んだフォルダへコピーとして保存し、サブフォルダ構造も保ったまま、元のファイルには触れません。元のファイルを直接上書きすることもできますが、もう一度確認が入り、その場合は記録だけが元に戻す手がかりになります。Firefox と Safari はフォルダへ書き込めないので、修正したファイルを 1 枚ずつダウンロードする形になります。毎回 CSV と JSON の修正記録(パス、フィールド、修正前、修正後、差分、モード)を作り、JPEG には元の値を独自の名前空間で XMP にも残します。アップロードはなく、読み込みも書き込みもブラウザの中だけで完結します。終わったら /photo-organizer でフォルダ分け、/bulk-rename で日付リネームへ続けられます。

    よくある質問

    写真はアップロードされますか?

    いいえ。JPEG の読み込み、修正、書き戻しはすべてこのブラウザのタブ内で行われます。アップロード先はなく、修正記録は出力フォルダに書き出すか、ダウンロードとして受け取れます。

    EXIF の日時を変えると写真は再圧縮されますか?

    されません。日時フィールドは固定長の ASCII なので、新しい値を元の位置に上書きするだけです。圧縮済みの画像データは 1 バイトも変えずにコピーされます。

    1 枚の写真に好きな日付を直接入れられますか?

    自由入力の欄はありません。差分を入力して適用するか、日付のない写真に日付を補うかのどちらかです。これで「直すツール」であって「日付を偽装するツール」にはなりませんが、間違った差分を入力するのは止められません。ツール自身は本当の撮影時刻を知らないからです。

    iPhone の HEIC は使えますか?

    まだ使えません。最初のバージョンは JPEG だけを読み書きします。HEIC・PNG・WebP・動画・RAW は理由付きで非対応として表示され、後のバージョンで対応予定です。

    Google フォトや iCloud の日付も変わりますか?

    自動では変わりません。クラウドのアルバムは撮影日時を自分で持っていて、ローカルのファイルを変えても同期されません。修正したファイルを再アップロードしたときに新しい EXIF の日付が使われるかはまだ検証していないので、このページでは約束しません。

    間違えて直した場合、どう戻しますか?

    毎回作られる CSV/JSON の修正記録を手元に残してください。ファイルごとにフィールドと修正前後の値が入っています。コピー保存なら元のファイルはそのまま残っています。直接上書きした場合はこの記録だけが手がかりで、だからこそその選択肢は 2 回確認します。JPEG なら XMP にも元の値が残っています。

    GPS の時刻やカメラ独自の日付は変わりますか?

    変わりません。GPS のタイムスタンプ、MakerNote 内のメーカー独自の日付、ファイルシステムの作成日時には一切触れません。アルバムや整理ツールが並べ替えに使うのは EXIF の撮影日時で、ここで直すのはまさにそのフィールドです。