All Tools View Categories About Contact Privacy

JSON to SRT Converter

Convert a JSON array of subtitle cues back into SRT (SubRip). Accepts start/end as timecodes or seconds, renumbers cues, and produces valid SubRip text.

Runs entirely in your browser — no data is uploaded or stored.

About JSON to SRT Converter

You generated JSON captions — an array of cue objects — and now you need a real SRT file. The JSON to SRT Converter rebuilds standard SubRip text from your data.

Point it at an array of cues with start, end and text. Timestamps may be timecode strings (HH:MM:SS,mmm or with a period) or numbers of seconds; the converter normalizes everything to HH:MM:SS,mmm, inserts the --> arrow, numbers the cues (using your index when present), and joins them with blank lines. Multi-line text in a string is preserved, so you get a faithful SRT in one click.

Features

  • Flexible timestamps: timecode strings or seconds are both accepted.
  • Normalization: every cue becomes HH:MM:SS,mmm.
  • Auto-numbering: uses your index or numbers in order.
  • Multi-line text: line breaks inside a string are kept.
  • Valid SRT: proper two-newline-separated cues.
  • Private: parsed in your browser.

How to Use

  1. Paste your JSON array of cues (a sample is preloaded).
  2. Click Convert to SRT — SubRip appears on the right.
  3. Copy or download the .srt for your player.

Examples

Example 1 — App export. Your service emits JSON captions; rebuild SRT for delivery.

Example 2 — Seconds-based data. Store timing as numbers; convert on export.

Example 3 — Transcript rebuild. Reconstruct SRT from a search index.

Benefits

  • Round-trips with the SRT to JSON tool.
  • No manual formatting: arrows and numbering handled.
  • Forgiving input: mixed timecode styles accepted.
  • Lossless text: wording and breaks preserved.
  • Private: stays in the browser.

Frequently Asked Questions

What input does it expect?
A JSON array where each element has start, end and text. The start and end may be timecode strings (HH:MM:SS,mmm or with a period) or plain numbers of seconds. An optional index field is used; otherwise cues are numbered in order.
Will my timestamps be normalized?
Yes. Any accepted timecode is padded to HH:MM:SS,mmm, and numeric seconds are converted to that format, so the output is always valid SRT.
What if a cue lacks an index?
Cues are numbered sequentially by array position (1, 2, 3…), which is what SRT requires.
Can I rebuild SRT from my app export?
Exactly. Paste the array your application produced and get a downloadable .srt in return.
Is the output guaranteed valid?
The converter builds each cue with a number, timing line and text, returning standard two-newline-separated SRT.