ByteScope

Photo Date Fixer

相機時鐘或時區設錯?把整批照片的 EXIF 拍攝時間加減同一個偏移,留下紀錄,畫素一個都不碰。

資料夾由瀏覽器在你的電腦上直接開啟。照片的讀取和寫入都只在你自己的硬碟裡進行 — 什麼都不會上傳。

資料夾

選一個資料夾,裡面放著拍攝時間錯了或根本沒有的 JPEG 照片。

資料夾
—
檔案
0
已讀取
0 / 0

照片

這個資料夾裡的檔案類型

    要改什麼

    要往前調就填負數。預覽一律顯示「原本 → 修正後」。

    偏移量不能是 0。

    修正後的檔案要放哪裡
    0 / 0

    這個工具不做的事

    • 它不知道照片真正的拍攝時間,只會套用你給的偏移量或日期,就這樣。
    • 它是拿來修正的,不是拿來隨便填日期的:沒有可以單張自由輸入日期的欄位。但它也不宣稱能防偽,因為任何能改日期的工具,都能寫出錯的日期。
    • 不會改 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 開啟。

    關於這個工具

    拍攝時間為什麼會錯,錯了又會怎樣

    出國一趟回來,發現相機還設在台灣時間,整趟的照片全部差了一小時;或是相機時鐘慢了七分鐘,跟手機拍的混在一起怎麼排都不對;又或者一整箱掃描的老照片根本沒有日期。拍攝時間存在 EXIF 裡,/photo-organizer 分資料夾、/bulk-rename 改檔名都是照它來——它一錯,後面整理出來的資料夾和檔名全都跟著錯。

    兩種模式,都是為了「修正」而不是「隨便改」

    整批偏移:輸入要加減的天、時、分、秒,選到的每張 JPEG 都移動同樣的量。沒有「單張任意填日期」的欄位,預覽永遠顯示「原本 → 修正後」。只補空白:給一個日期(只到年或年月也可以,會補成該年該月的 1 日 00:00:00),工具只寫進 DateTimeOriginal 是空白的檔案;已經有日期的一律不動、直接灰掉。完全沒有 EXIF 的掃描檔會先補上一個最小的 EXIF 區塊,日期才有地方放。兩台機器自動對齊和時區換算是之後的版本才會有;現在你量出偏移,對那台相機的整批照片套上去就行。

    會改什麼,刻意不改什麼

    工具會改寫 DateTimeOriginal 與 DateTimeDigitized,DateTime 可以選要不要一起改。這三個欄位都是固定 20 位元組的 ASCII,新值直接原地覆蓋舊值,影像資料一個位元組都不會動。GPS 的時間、MakerNote 裡各家廠商自己記的日期、檔案系統的建立日期全部保持原樣。如果檔案的 XMP 裡也有日期,這一版不會改它,頁面會逐檔提醒你,因為 Lightroom 這類軟體可能先讀 XMP 的日期。第一版只處理 JPEG:HEIC、PNG、WebP、影片和 RAW 之後才支援,所以 iPhone 拍的 HEIC 目前會被列為不支援。

    預設另存副本,每次都留紀錄

    預設會把修正後的檔案另存到你另外選的資料夾,子資料夾結構照舊,原檔完全不動。直接改寫原檔是選項,要再確認一次,之後修正紀錄就是唯一的還原依據。Firefox 和 Safari 沒辦法寫入資料夾,所以改成一張一張下載。每次都會產生 CSV 和 JSON 兩份修正紀錄——路徑、欄位、修正前、修正後、偏移量、模式——JPEG 還會把原值寫進 XMP 的自訂命名空間。照片不會上傳,讀取和改寫都在瀏覽器裡完成。做完可以接著用 /photo-organizer 整理資料夾,或用 /bulk-rename 依日期改檔名。

    常見問題

    我的照片會被上傳嗎?

    不會。JPEG 的讀取、修改、寫回都在這個瀏覽器分頁裡完成,沒有任何上傳的端點;修正紀錄會寫進輸出資料夾,或是直接讓你下載。

    改 EXIF 日期會不會重新壓縮照片?

    不會。日期欄位是固定長度的 ASCII,新值直接原地覆蓋舊值,壓縮後的影像資料是逐位元組原樣複製的。

    可以直接把某一張照片的日期改成我要的值嗎?

    沒有這種自由輸入的欄位。你輸入一個偏移量讓工具套用,或是幫沒有日期的照片補上日期。這樣它才是修正工具,而不是把照片改成假日期的工具;不過它擋不住你填錯偏移量——工具本身並不知道真正的拍攝時間。

    iPhone 拍的 HEIC 可以用嗎?

    還不行。第一版只讀寫 JPEG,HEIC、PNG、WebP、影片和 RAW 會被列為不支援並說明原因,之後的版本才會加進來。

    Google 相簿或 iCloud 會跟著更新日期嗎?

    不會自動更新。雲端相簿通常存著自己那份拍攝時間,改本機檔案不會同步回去。把修正後的檔案重新上傳之後相簿會不會改用新的 EXIF 日期,我們還沒驗證過,所以這頁不做這個保證。

    改錯了要怎麼還原?

    留好每次都會產生的 CSV/JSON 修正紀錄,裡面逐檔列出欄位、修正前和修正後的值。選另存副本的話原檔都還在;選直接改寫的話,紀錄就是唯一的依據,所以那個選項會問你兩次。JPEG 的 XMP 裡也會留一份原值。

    GPS 時間或相機自己記的日期會被動到嗎?

    不會。GPS 的時間戳記、MakerNote 裡廠商自己的日期、檔案系統的建立日期一律不改。相簿和整理工具排序看的是 EXIF 拍攝日期,也就是這裡修正的那個欄位。