Convert JSON to SRT subtitles
Turn timed transcript JSON or YouTube chat replay JSON/JSONL into SRT. For a custom export, map the text and timestamp fields yourself.
Convert your files
Drop files here
Drag & drop or browse · Whisper or transcript JSONConverted in your browser. Files never leave your device.About an hour of footage is free. Bigger files: $3 a file, or Pro.
up to 2 files · 2 MB each
Converting as a guest. A free account has no monthly cap within the free size cap.
How to convert JSON to SRT
Drop a supported timed JSON transcript to preview and download SRT subtitles. Whisper exports with timestamped segments convert as they are. For an unfamiliar JSON layout, map the array, text and timestamp fields under Delivery settings. A transcript without timestamps can't supply original timing. For encrypted data, use a supported export from its source app.
Add your JSON files
Drag your Whisper or transcript .json files onto the drop zone, or click to browse.
Convert JSON to SRT
Press Convert. Each timed segment becomes an SRT cue with millisecond timing, and speaker fields become labels.
Download your result
Download the converted file, or one ZIP when you convert a batch.
Try JSON to SRT with a sample
See the source file and its converted result before using your own files. Use “Try a sample” in the converter to preview the same input.
See an excerpt of the sample input
{
"task": "transcribe",
"language": "english",
"text": "Welcome back to the cutting room. Today we're converting subtitles in seconds.",
"segments": [
{ "id": 0, "start": 1.0, "end": 4.0, "text": " Welcome back to the cutting room.", "avg_logprob": -0.2, "no_speech_prob": 0.01 },
{ "id": 1, "start": 4.2, "end": 7.5, "text": " Today we're converting subtitles in seconds.", "avg_logprob": -0.19, "no_speech_prob": 0.01 },
{ "id": 2, "start": 7.8, "end": 11.4, "text": " Drop a whole batch and get one tidy ZIP back.", "avg_logprob": -0.21, "no_speech_prob": 0.02 }
]
}
- Upload timed JSON and check the detected dialect in the preview.
- For an unfamiliar schema, enable Custom JSON fields and specify the array, text, start, end and time units.
- Download SRT and import it as captions in your editor; check timing against the source.
Missing timestamps and encrypted drafts cannot be recovered by mapping field names. Re-export timed captions from the source app.
Synthetic examples. Downloaded outputs are checked against the conversion engine; this does not certify an import in your editor version.
Back to the converterTranscript JSON and SRT subtitles, explained
AI transcription tools output JSON, and players and editors want SRT. This converter accepts the JSON shapes in common use: OpenAI Whisper verbose_json (segments with start/end in seconds), whisper.cpp (transcription arrays with millisecond offsets), and generic arrays of {start, end, text} segments. Transcript timing comes from the file. Chat replays keep message start offsets and use estimated display durations, with a warning to review.
Turn timed transcript JSON or YouTube chat replay JSON/JSONL into SRT. For a custom export, map the text and timestamp fields yourself. It is free to start, encrypted in transit, and converts a whole batch into one ZIP — sign in when you need large, high-volume jobs.
JSON to SRT FAQ
Can I convert YouTube live-chat replay JSON?
Yes. Upload the .live_chat.json or JSONL file from yt-dlp. Messages keep their replay offsets and author names. Display durations are estimated, up to six seconds. Simultaneous messages can overlap. The result is chat captions, not a transcript of the spoken audio. Live captures may need timecode alignment.
Can I turn a Twitch chat log into subtitles?
Yes. Drop the chat JSON that TwitchDownloader writes (Chat Download, JSON format). Each message becomes a subtitle line with the commenter's name. Messages that arrive within two seconds share one cue of up to three lines. A cue stays on screen until the next one, or for six seconds. Any subtitle-capable editor or player can burn the result in as a chat replay.
Which JSON formats are supported?
OpenAI Whisper verbose_json (a segments array with start/end in seconds), whisper.cpp output (a transcription array with offsets or timestamps), and generic arrays of {start, end, text} objects. Speaker fields are optional, and times can be in seconds or milliseconds.
How do I get verbose_json out of Whisper?
With the OpenAI API, set response_format to verbose_json. If you run Whisper locally, the default .json output works, and so does whisper.cpp's --output-json file.
My JSON only has a plain text field. Can it be converted?
No. SRT needs start and end times for each segment, and a bare text transcript has none. Re-export with segment timing (verbose_json for Whisper) and it will convert.
Are speaker labels from diarization kept?
Yes. Segments with a speaker field come out as labeled SRT cues, so diarized transcripts keep their speakers.
What if my file is a Premiere Pro transcript JSON?
Use the Premiere Transcript to SRT converter at /prtranscript/srt. It reads Premiere's transcript format directly, including binary .prtranscript files.
Guides for this workflow
- Transcript → SRT subtitlesThe one requirement (timestamps), the formats that convert directly, how cue timing really works, and the honest answer on untimed text.Read guide
- Add SRT subtitles in ResolveThe native import path, the timecode gotcha that hides your subtitles an hour away, and the FCPXML route when you want styleable titles instead of captions.Read guide
- Whisper JSON → SRTWhat verbose_json actually contains, the converter route, the CLI flag that skips the problem, and the timestamp math that breaks hand-rolled scripts.Read guide
More converters
- Convert REAPER to Premiere XML
- Convert REAPER to DaVinci Resolve project
- Convert REAPER to Final Cut Pro XML
- Convert REAPER to CapCut project
- Convert REAPER to picture/audio AAF
- Convert Premiere to picture/audio AAF
- Convert Final Cut to picture/audio AAF
- Convert Premiere to REAPER
- Convert Audition to REAPER
- Convert Avid Bin to CSV
- Convert Avid Bin to Premiere XML
- Convert Avid Bin to Final Cut XML
- Convert Avid Bin to Resolve project
- Convert Avid Bin to Picture/audio AAF
- Convert Avid Bin to REAPER project
- Convert Avid Bin to Per-cut CSV
- Convert Avid Bin to Timeline EDL
- Convert SRT to Premiere JSON
- Convert SRT to Avid TXT
- Convert TXT to SRT
- Convert EDL to CSV
- Convert TXT to Premiere JSON
- Convert DOC to Premiere JSON
- Convert SRT to SBV
- Convert SRT to ASS
- Convert SRT to VTT
- Convert Premiere Transcript to SRT
- Convert Premiere Transcript to VTT
- Convert VTT to SRT
- Convert SRT to Text
- Convert VTT to Text
- Convert Premiere Project to XML
- Convert Premiere Project to DRP
- Convert AAF to XML
- Convert AAF to DRP
- Convert FCPXML to XML
- Convert FCPXML to DRP
- Convert FCPXML to EDL
- Convert FCPXML to Shot List
- Convert DaVinci Resolve Project to XML
- Convert Premiere Project to CSV
- Convert Premiere Project to EDL
- Convert Premiere Project to FCPXML
- Convert DaVinci Resolve Project to FCPXML
- Convert AAF to FCPXML
- Convert DaVinci Resolve Project to CSV
- Convert DaVinci Resolve Project to EDL
- Convert AAF to CSV
- Convert AAF to EDL
- Convert Premiere Transcript to Word
- Convert Premiere Transcript to CSV
- Convert CapCut to SRT
- Convert CapCut to Premiere Pro
- Convert CapCut to DaVinci Resolve
- Convert CapCut to Final Cut Pro
- Convert CapCut to Avid AAF
- Convert Premiere Pro to CapCut
- Convert DaVinci Resolve to CapCut
- Convert Final Cut Pro to CapCut
- Convert Avid AAF to CapCut
- Convert JSON to VTT
- Convert JSON to Word
- Convert JSON to Text
- Convert SCC to CSV
- Convert MCC to CSV
- Convert STL to CSV
- Convert FCPXML to Word
- Convert FCPXML to CSV
- Convert Premiere Transcript to Text
- Convert SRT to ITT
- Convert SRT to TTML
- Convert SBV to SRT
- Convert SRT to Word
- Convert VTT to Word
- Convert ASS to SRT
- Convert JSON to Premiere JSON
- Convert SRT to CSV
- Convert CSV to SRT
- Convert SRT to FCPXML
- Convert FCPXML to SRT
- Convert SRT to SCC
- Convert SCC to SRT
- Convert SRT to MCC
- Convert MCC to SRT
- Convert SRT to STL
- Convert STL to SRT
- Convert AAF to REAPER
- Convert Final Cut to REAPER
- Convert Resolve to REAPER
- Convert DaVinci Resolve to picture/audio AAF
- Convert Avid bin to CapCut project
- Convert CapCut to REAPER project
- Convert Adobe Audition to Premiere XML
- Convert Adobe Audition to DaVinci Resolve project
- Convert Adobe Audition to Final Cut Pro XML
- Convert Adobe Audition to CapCut project
- Convert Adobe Audition to picture/audio AAF
Questions, answered
Where are my files processed?
In your browser. The file never leaves your computer, and CutConvert only records that a conversion happened. We never see, store, sell or share your media.
Is it free? Do I need an account?
Files up to about an hour of footage convert free on every converter. CapCut projects are free up to 500 KB. Guests get five conversions a month; a free account has no monthly cap within the free size caps. Bigger files are $3 each, or $5 for a project conversion from one program to another. Pro is $9 a month ($90 a year) for files up to 50 MB. Studio is $19 a month ($190 a year) for files up to 500 MB.
What do I get when I convert multiple files?
One ZIP with every converted file. A single file comes back on its own. Press + to add more output formats: they go in the same ZIP, and each file still counts as one conversion.
Which formats are supported?
Projects in: Premiere .prproj, DaVinci Resolve .drp, Avid AAF and bins, Final Cut FCPXML, CapCut drafts and Audition sessions. Projects out: FCP7 XML, FCPXML, Resolve .drp, AAF, CapCut and REAPER, plus CMX 3600 EDL and shot-list CSV. Transitions, markers, titles, keyframes, levels, speed changes and nested sequences carry over wherever the target app can hold them. Captions: SRT, WebVTT, SBV, ASS, TTML, DFXP, iTT, SCC, MCC, EBU-STL, Avid caption TXT, timed CSV, Word and plain text. Transcripts: Whisper, WhisperX, AssemblyAI, Deepgram, Rev.ai and CapCut JSON, Premiere transcript JSON and .prtranscript, and Rev, Otter and Word-style text. Styling, placement and speakers come along where the output supports them.
Can I pick a frame rate?
Yes. For EDL and Avid caption output, choose 23.976, 24, 25, 29.97 or 30 fps, or let CutConvert detect it from your source.