Subtitle to JSON Converter

Convert any subtitle file to JSON online, free, private, and entirely in your browser.

Accepts
SRTVTTASSSSASBVSUBSMISAMILRCTTMLITTDFXPTXT
OutputJSON

Drop your subtitle file here

or click to browse (multiple files supported)

Supported: SRT, VTT, ASS, SSA, SBV, SUB, SMI, SAMI, LRC, TTML, ITT, DFXP, TXT

Your converted subtitles will appear here.

About Converting to JSON

Converting to JSON turns your subtitle file into structured data instead of a caption track (one object per cue, each with an `index`, human-readable `start`/`end` timecodes, raw-millisecond `startMs`/`endMs` fields, and plain `text` with all inline styling stripped. It's a one-way export built for developers) feed it into a custom player, a subtitle-review tool, or a data pipeline, not back into a video's caption track, no media player reads a JSON subtitle export.

Supported Source Formats

  • SRT (SubRip) – SRT's numbered entries and comma-separated timestamps become JSON objects with explicit `index`, `start`/`end`, and millisecond `startMs`/`endMs` fields, ready to load into a script or custom player without writing an SRT parser.
  • WebVTT – WebVTT's cue timing converts the same way SRT's does; positioning cues and inline styling tags are stripped from the `text` field, since JSON has no styling convention of its own, even the basic ``/`` tags SRT/VTT keep are removed here.
  • ASS/SSA (Advanced SubStation Alpha) – ASS's fonts, colors, positioning, and karaoke tags are all stripped from the `text` field, JSON export is for programmatic consumption of cue text and timing, not for preserving visual styling.
  • SBV (YouTube Subtitles) – SBV's simple timestamp pairs convert directly into each cue's `start`/`end`/`startMs`/`endMs` fields, alongside the plain dialogue text.
  • SAMI/SMI – SAMI's sync-point timing and HTML-based markup are converted into the same flat JSON cue structure, the class-based styling and multi-language structure are dropped, leaving plain text and millisecond timing.

Batch Conversion

Select or drop multiple files at once, each one converts automatically. Page through the results, retry any file individually if it fails, and download them all as a zip with "Download all," or one at a time.

100% Browser-Based

100% Browser-Based

All processing happens in your browser. No files uploaded to servers.

Secure & Private

Your subtitle files never leave your device. Complete privacy guaranteed.

Fast & Free

Instant processing with no waiting. Completely free, no limits or restrictions.

Frequently Asked Questions

Can I convert a JSON export back into a subtitle format?

No: JSON here is a one-way export. It's structured data for scripts, custom players, and review tooling to consume, not a subtitle format any media player or editor reads back in, so there's no JSON-to-subtitle conversion path.

What fields does each cue include in the JSON export?

Every cue becomes an object with `index` (1-based), `start`/`end` as human-readable `HH:MM:SS,mmm` timecodes, `startMs`/`endMs` as raw millisecond numbers, and `text` with all inline styling tags stripped to plain content.

Does the JSON export keep ASS styling or karaoke tags?

No: the `text` field is fully stripped of all inline markup, including basic styling tags that SRT/VTT exports would normally keep. JSON export is meant for programmatic consumption of dialogue and timing, not visual presentation.

What would I use a JSON subtitle export for?

Loading cue data into a custom-built video player, feeding timing and text into a data pipeline or analysis script, or driving a subtitle-review or QA dashboard, anywhere you'd otherwise have to write a subtitle-format parser first.