PixelOkay
Subtitle & Caption Studio
Local-first editing
Tools
Beta information & optional AI limitationsBetaSome features may not work as expected.AI CautionModels download to your device. Speed depends on the model and available RAM/GPU memory. Larger models may give better answers but need more memory and can run slower.
EDITOR

Untitled project

00:00:000 captions

▤
Your preview starts hereOpen a video or audio file to synchronize subtitles.
LIVE PREVIEW
00:00.000
00:00.000

Subtitle timeline

Click to seek · Drag cue edges to trim, or drag a cue to move

✓
Browser-first, no account required

Import and edit locally. Subtitle sidecars never modify video. Optional burned-in recording creates a new encoded video file.

Using Subtitle & Caption Studio

Import subtitles or add cues, select a language track, and adjust timing while previewing your media. Export the active track or keep a project backup containing your tracks.

Optional transcription and video-processing engines require separate downloads and browser support. Imported or exported formats can have unsupported features; review timing, text and recorded audio before publishing.

Distinguish a fixed subtitle delay from gradual timing drift

1
00:00:01,000 --> 00:00:02,000
Practice marker A

2
00:00:03,000 --> 00:00:04,000
Practice marker B
  1. Save this original text as a UTF-8 .srt practice input and import it. It contains timing markers, not transcribed speech or a supplied media file.
  2. For a delay that stays constant throughout real media, use Shift all captions. A growing discrepancy requires two known correspondences rather than one offset.
  3. For a mathematical drift exercise, enter subtitle anchor A 00:00:01.000 and video anchor A 00:00:02.000; subtitle anchor B 00:00:03.000 and video anchor B 00:00:05.000. Apply drift correction to the active track.
  4. The reference mapping is new time = 1.5 × old time + 0.5 seconds. It places the first cue at 2.000–3.500 seconds and the second at 5.000–6.500 seconds. These are calculated expectations, not observed synchronization with a video.
  5. For real media, choose anchors from audible/visible events, review intermediate cues and reading-speed issues, then export a sidecar or save all tracks as project JSON. Keep the media independently.

Authored SRT and timing exercise, no runtime output. Track language/type labels do not translate text. Frame rate is a manual setting; optional transcription downloads a model, and burned-in video is a separate real-time encoded output with browser-dependent support. Use Add Subtitles for its separate video-delivery options.

Choose subtitle files, all-track backups or captioned video

Subtitle editing questions

Does assigning a language track translate the captions?

No. A track's language or type label organizes your captions; it does not translate their text. Supply and review the translated wording yourself. Optional speech transcription also needs review and separate runtime/model loading.

Why can captions drift even after I shift their start time?

A fixed offset moves all cues equally. A gradually growing mismatch needs two reliable timing anchors and drift correction, followed by checks throughout the media. Keep an all-track JSON backup before changing timing and retain the source media independently.

Related tools