# Subtitle Sync

> 字幕跟影片對不上？整體平移固定毫秒數，修「從頭慢到尾」；或用頭尾兩個錨點拉伸，修「越到後面差越多」的漂移。SRT 和 VTT 全在瀏覽器處理，不上傳。

- URL: https://bytescope.dev/zh-Hant/subtitle-sync/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/subtitle-sync.md) · [ja](https://bytescope.dev/ja/subtitle-sync.md)
- Runs: 檔案不會離開你的瀏覽器 — 全部在本機處理。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

字幕跟影片對不上有兩種壞法，這個工具一種壞法給一個解法。如果每一行都慢（或快）一樣的時間，用平移把整個檔案挪固定的毫秒數就結束了。如果開頭差不多準、播到後面差了好幾分鐘——這叫漂移——平移救不了：把開頭對準，結尾只會被推得更遠。兩種操作都在瀏覽器裡直接處理 `SRT` 和 `VTT`，什麼都不上傳。

### 兩點拉伸怎麼運作

漂移的成因通常是字幕當初對著另一個影格率、或另一個剪輯版本做的。修法只要兩個錨點：挑開頭附近一行、結尾附近一行，看著影片把它們實際說出口的時間填進去，中間（和外側）的每一行就會線性跟上。你不需要知道兩邊的影格率各是多少——那個資訊已經藏在兩個錨點裡了。下載前有前後對照的預覽，會並排顯示前 20 行——足夠先確認修正真的生效，再套用到整個檔案。

### 它修不了的情況

工具不知道對白在哪裡——錨點要你看著影片自己給，結果的準度就等於錨點的準度。如果錯位不是線性的——某個版本剪掉一場戲、另一個版本插了廣告、根本是不同的剪輯——那一次平移或拉伸都修不完整個檔案，得在斷點把檔案拆開、分段各修各的。時間戳最低夾在零：會被推到影片開始之前的行會停在 00:00、損失那段差值，頁面會明確告訴你有幾行被夾到。解析器跟本站的字幕轉換器共用，`SRT` 和 `VTT` 在那邊開得起來、這邊就開得起來；手上是 `ASS`、`SBV` 或 `LRC` 的話，先用字幕轉換器轉成 `SRT` 再拿過來就行。

## Limits

Does not detect the offset from the audio automatically; you enter or drag the shift.

## FAQ

### 字幕開頭是準的，為什麼越播越不同步？

這就是漂移，幾乎都是影格率或剪輯版本不一致造成的：字幕當初對著 25 fps 的電視版打的，你的影片卻是 23.976；或是某個版本多了另一個版本沒有的片段。誤差會沿著整個檔案穩定放大，而兩點拉伸做的正是把這個放大反轉回來。單純平移永遠修不了它——平移把每行挪一樣多，漂移卻天生每行差得不一樣多。

### 要怎麼知道該平移幾毫秒？

挑一句有辨識度的對白，在說出口的瞬間暫停影片、記下播放器的時間，再去檔案裡看同一行的時間戳——兩者的差就是你的平移量，快慢皆然。前後對照的預覽馬上更新，你可以邊對影片邊微調數字，抽查對上為止。

### 字幕檔會被上傳嗎？

不會。解析、改時間、重建輸出全部在你的瀏覽器裡完成，下載檔也是本機產生的，過程中檔案完全不離開你的裝置。沒有經過伺服器，也代表檔案大小沒有上限，只受你自己的機器限制。

### 平移修好了開頭，結尾卻壞了，怎麼辦？

這就是漂移的招牌症狀，也是該改用拉伸的訊號：把開頭附近一行和結尾附近一行分別錨到真正說出口的時間，中間全部跟上。要是連拉伸都修不好中段，那錯位就不是線性的——被剪掉的戲或插入的廣告——只能在斷點把檔案拆開，一段一段分開修。

### 被推到影片開始之前的行會怎樣？

時間戳最低夾在零。本來會變成負數時間的行會停在 00:00，實際挪動的量比你指定的少——原本該保持先後的行也可能疊在開頭。有幾行被夾到，頁面會明確報出來，不會安靜發生；要是被夾到的行很多，多半是平移量本身就設錯了。

## Related tools

- [Subtitle Converter](https://bytescope.dev/zh-Hant/subtitle-converter.md) — 轉換字幕格式（SRT、VTT、ASS、SBV）並修復字元編碼。
