JSON to SRT
Convert a JSON subtitle array into a valid SRT file, automatically detecting whether your timing values are in fractional seconds, whole milliseconds, or pre-formatted HH:MM:SS,mmm strings. Subtitle text is read from whichever field is named text, content, caption, or subtitle, so most transcript export formats work without any manual field mapping. The conversion and download happen instantly in your browser with no server upload required.
JSON
Output
SRT
What is JSON Subtitles to SRT Converter?
Video transcription APIs and speech-to-text services return their output as JSON — timestamps in seconds, text content in string fields, sometimes confidence scores and speaker labels. But video players, YouTube, Vimeo, and subtitle editing tools all expect .srt files. Converting between the two requires mapping JSON timestamp fields to the HH:MM:SS,mmm format SRT uses and formatting each cue block correctly. This tool handles that conversion: paste a JSON array of subtitle cues, map your field names (start/end/text, or from/to/content, or whatever schema your API returns) using the field mapper, and get a properly formatted SRT file with sequential numbering, correct timestamp syntax, and multi-line text support. Accepts timestamp inputs in seconds (65.5), milliseconds (65500), or pre-formatted HH:MM:SS strings. Compatible with YouTube's subtitle upload, Vimeo, VLC, and all major video editing applications. The conversion runs entirely in your browser — transcript content is never transmitted to any server.
How to Use
- 1
Paste Your Subtitle JSON
Paste a JSON array where each object represents a subtitle cue. Each object should have timing fields (start, end) and a text field. The tool auto-detects common timestamp formats (seconds, milliseconds, HH:MM:SS.mmm).
- 2
Map Your JSON Fields
If your JSON uses different field names (e.g., "from"/"to" instead of "start"/"end"), use the field mapper to specify which keys correspond to start time, end time, and subtitle text.
- 3
Convert to SRT
Click "Convert to SRT". The tool numbers each subtitle cue sequentially, formats timestamps as HH:MM:SS,mmm (SRT standard), and joins multi-line text with newline separators.
- 4
Download the .srt File
Click "Download .srt" to save the subtitle file. Upload it to YouTube, Vimeo, or your video editor, or use it with VLC, MPV, and other players that support external subtitle files.
Common Use Cases
Video Platform Subtitle Export
Convert JSON subtitle data from YouTube, Vimeo, or video editing tools into SRT format for uploading to video platforms, broadcasting software, or offline video players that require .srt files.
Transcription Service Output Processing
Speech-to-text APIs (AWS Transcribe, Google Speech-to-Text, AssemblyAI) return transcripts as JSON with timestamps. Convert these directly to SRT subtitle files for video synchronisation.
Podcast & Webinar Accessibility
Add subtitle files to podcast videos or webinar recordings by converting JSON transcript data from recording platforms into SRT format for accessibility compliance and viewer convenience.
Multilingual Subtitle Pipeline
Translation APIs return translated subtitle segments as JSON arrays with timing. Convert these to SRT files as the final step in an automated multilingual subtitling pipeline.
Conversion Examples
JSON Subtitle Array → SRT File
Each JSON entry with start, end, and text fields becomes an SRT subtitle block.
Input JSON
[
{"index": 1, "start": "00:00:01,000", "end": "00:00:03,500", "text": "Welcome to our tutorial."},
{"index": 2, "start": "00:00:04,000", "end": "00:00:07,200", "text": "Today we will learn about JSON."},
{"index": 3, "start": "00:00:08,000", "end": "00:00:11,000", "text": "Let's get started!"}
]Output CSV
1 00:00:01,000 --> 00:00:03,500 Welcome to our tutorial. 2 00:00:04,000 --> 00:00:07,200 Today we will learn about JSON. 3 00:00:08,000 --> 00:00:11,000 Let's get started!