Convert SRT to JSON Online Free
Drag & drop your .srt file here, or click to browse
Converts to JSON in your browser · first daily conversion free · no signup
Your first conversion each day is free. A $2.99 one-time Day Pass unlocks 24 hours and ends by itself.
Parse SRT subtitle files into structured JSON data. JSON output makes subtitle cues easy to process, search, transform, and integrate into video players, captioning pipelines, or data analysis workflows.
By ChangeThisFile Team · Last updated: March 2026
ChangeThisFile converts SRT subtitle files to structured JSON in your browser using JavaScript libraries. No server upload required — processing happens entirely on your device, keeping your subtitle data completely private. Each cue's timecodes and text are parsed into a clean JSON array instantly. Free with no signup.
SRT vs JSON: Format Comparison
Key differences between the two formats
| Feature | SRT | JSON |
|---|---|---|
| Format type | Plain text with line-based syntax | Structured key-value data |
| Cue indexing | Sequential integer on its own line | Array index or explicit id field |
| Timecode format | HH:MM:SS,mmm --> HH:MM:SS,mmm | Numeric milliseconds or ISO string |
| Programmatic access | Requires custom text parsing | Direct property access (cue.start, cue.text) |
| Filtering & search | Regex or line scanning | Native array filter, map, find |
| Multi-line text | Blank-line delimiter between cues | Newlines stored as \n in string or as array |
| Interoperability | Supported by most video players natively | Universal across APIs, databases, and web apps |
| Human readability | Easy to read and edit by hand | Readable but more verbose than SRT |
When to Convert
Common scenarios where this conversion is useful
Custom video player integration
Web-based video players built with JavaScript can consume subtitle cues directly from a JSON array, eliminating the need for a runtime SRT parser. Convert your SRT track to JSON and load cues programmatically for precise timing control.
Subtitle search and full-text indexing
Index subtitle text in Elasticsearch, Algolia, or a database by converting SRT to JSON first. Each cue becomes a document with start time, end time, and text fields, enabling timestamp-aware search across entire video libraries.
Caption editing and localization pipelines
Localization tools and translation APIs accept JSON more readily than SRT. Convert an SRT file to JSON, send the text fields to a translation API, then reconstruct the output with the same timecodes.
Data analysis of dialogue and pacing
Analyze cue duration, words per minute, or dialogue density across a film or podcast series. JSON output can be loaded directly into Python (json.load), Node.js, or a spreadsheet tool for statistical analysis.
Who Uses This Conversion
Tailored guidance for different workflows
Video Editors & Subtitlers
- Convert SRT caption files to JSON for the subtitle track your editor or delivery spec requires
- Move SRT subtitles into JSON to hand off to an editor working in a different tool
Content Creators & YouTubers
- Convert SRT captions to JSON to upload alongside your video on YouTube, Vimeo, or social platforms
- Turn a SRT caption file into JSON to make your video clearer and more accessible
Accessibility & Localization Teams
- Convert SRT subtitles to JSON to meet the caption format an accessibility or compliance spec requires
- Prepare SRT captions as JSON to hand to translators or a localization workflow
How to Convert SRT to JSON
-
1
Select your SRT file
Drag and drop your SRT file onto the converter, or click browse to choose from your files.
-
2
Instant conversion
The browser converts your SRT to JSON locally. No upload needed and no data leaves your device.
-
3
Download the JSON
Save your converted JSON file. Ready to use immediately.
Convert SRT to JSON via API
Integrate this conversion into your pipeline with 3 lines of code. Free tier: 25 conversions/month.
The free converter above runs entirely in your browser — your file is never uploaded. This optional API is a separate server-side endpoint for automating conversions at scale.
curl -X POST https://changethisfile.com/v1/convert \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "file=@input.srt" \ -F "target=json" \ -o output.json --fail
YOUR_API_KEY with your free key — no credit card needed.
Frequently Asked Questions
The output is a JSON array of cue objects. Each object contains an id (the cue sequence number), a start time, an end time (both in milliseconds), and a text field with the subtitle content. Timecodes are parsed from the SRT HH:MM:SS,mmm format and stored as numeric millisecond values for easy arithmetic.
Yes. SRT cues that span multiple lines are preserved in the JSON text field with newline characters (\n) separating each line, so the visual line breaks in the original subtitle are retained.
Yes. Tags such as <b>, <i>, and <font color=...> that some SRT files include for styling are preserved as-is in the JSON text field. You can strip or keep them depending on your downstream use case.
No. The entire conversion runs in your browser using JavaScript. Your SRT file is never sent to any server, which is important if your subtitles contain confidential or pre-release content.
Yes. The converter reads SRT files as UTF-8, so Arabic, Chinese, Japanese, Cyrillic, and other scripts are fully supported. The JSON output is also UTF-8 encoded.
Cues with unparseable timecodes are included in the output with null for the start and end fields rather than being silently dropped, so you can identify and correct them.
Yes. Each cue object is a self-contained record with id, start, end, and text fields suitable for direct insertion into SQL or NoSQL databases. PostgreSQL's JSONB type, MongoDB, and SQLite all handle this structure natively.
Browser-based conversion can handle SRT files with thousands of cues without issue. Performance depends on available device memory, but a typical feature film SRT file (1,000–2,000 cues) converts in well under a second.
Yes. The id field in each JSON cue object corresponds to the sequence number from the SRT file. This is useful if you need to cross-reference the JSON output against the original SRT for debugging or manual review.
ChangeThisFile currently offers SRT-to-JSON conversion. To go back from JSON to SRT you would reconstruct the file in your application code, formatting each cue's millisecond timestamps back to HH:MM:SS,mmm notation.
This tool converts SRT specifically. WebVTT and ASS have different syntax and require separate converters. ChangeThisFile focuses on SRT as it is the most widely used plain-text subtitle format.
Related Conversions
Related Tools
Free tools to edit, optimize, and manage your files.
Ready to convert your file?
Convert SRT to JSON instantly — free, no signup required.
Start Converting