Convert SRT to JSON
Drop a .srt file and download it as .json. Free, instant, and nothing is uploaded.
SubRip .srt
SubRip (.srt) is the most widely supported subtitle format: numbered cues, comma millisecond timestamps and plain text. It plays in VLC, YouTube, Premiere and almost everything else.
JSON .json
JSON gives you the cues as plain objects with start and end in milliseconds, ready for code. It also reads Whisper transcripts, which use fractional seconds.
What changes when converting SRT to JSON
- Timestamps are converted exactly, to the millisecond.
- Italic, bold and underline tags are removed because JSON cannot display them.
- Line breaks inside a cue are kept.
- Each cue becomes an object with start and end in milliseconds and the text with its line breaks.
Supported formats
Every format converts to every other. Formatting is kept where the target supports it.
| Format | Extension | Support | Formatting | Notes |
|---|---|---|---|---|
| SubRip | .srt | Read and write | Italic, bold, underline | The safe default when you are not sure what a player needs. |
| WebVTT | .vtt | Read and write | Italic, bold, underline | Cue position and alignment settings survive VTT to VTT. |
| Advanced SubStation Alpha | .ass | Read and write | Full ASS styling | Reads .ssa too. Writes a single default style at 1080p. |
| YouTube SBV | .sbv | Read and write | None | SubViewer .sub files are read as SBV. |
| MicroDVD | .sub | Read and write | None | Needs the frame rate. A wrong value makes subtitles drift. |
| TTML / DFXP | .ttml | Read and write | Italic, bold, underline | Also reads .dfxp and .xml. Layout and regions are dropped. |
| LRC lyrics | .lrc | Read and write | None | No end times. Each cue ends where the next begins. |
| JSON | .json | Read and write | None | Reads {start, end, text} arrays and Whisper segments. |
| Plain text | .txt | Write only | None | Output only. Timing is discarded. |
Private by design
Parsing and conversion run in your browser with JavaScript. Files are read locally and never uploaded, so there is nothing to delete afterwards.
Exact timing
Timestamps convert to the millisecond. MicroDVD uses the frame rate you set, and ASS rounds to the centiseconds it supports.
Fix sync as you go
Shift every cue earlier or later in milliseconds, and strip formatting tags when a player shows them as raw text.
Questions
Is CaptionConvert free?
Yes. There are no limits, accounts or watermarks. Convert as many files as you like, as often as you like.
Are my subtitle files uploaded anywhere?
No. The conversion runs in your browser with JavaScript. Files are read on your device and nothing is sent to a server, so there is nothing to delete afterwards.
What is the difference between SRT and JSON?
SubRip (.srt) is the most widely supported subtitle format: numbered cues, comma millisecond timestamps and plain text. It plays in VLC, YouTube, Premiere and almost everything else. JSON gives you the cues as plain objects with start and end in milliseconds, ready for code. It also reads Whisper transcripts, which use fractional seconds.
Is formatting kept when converting SRT to JSON?
Italic, bold and underline tags are removed because JSON cannot display them. Timing is converted exactly.
How do I fix subtitles that are out of sync?
Use the Shift field. Enter a positive number of milliseconds to delay every cue, or a negative number to bring them earlier, then download. 1000 ms is one second.