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

Quick Answer

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.

First daily conversion free No signup required Files stay on your device Instant conversion Updated May 2026

SRT vs JSON: Format Comparison

Key differences between the two formats

FeatureSRTJSON
Format typePlain text with line-based syntaxStructured key-value data
Cue indexingSequential integer on its own lineArray index or explicit id field
Timecode formatHH:MM:SS,mmm --> HH:MM:SS,mmmNumeric milliseconds or ISO string
Programmatic accessRequires custom text parsingDirect property access (cue.start, cue.text)
Filtering & searchRegex or line scanningNative array filter, map, find
Multi-line textBlank-line delimiter between cuesNewlines stored as \n in string or as array
InteroperabilitySupported by most video players nativelyUniversal across APIs, databases, and web apps
Human readabilityEasy to read and edit by handReadable 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
After converting to JSON, confirm the cue timings still line up with the video
Check that line breaks and special characters survived the SRT to JSON conversion

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
Keep individual JSON cues short (about one to two lines) so captions stay readable on screen
Preview the JSON captions on the actual video to catch any timing drift before publishing

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
Speaker labels and on-screen positioning only carry over if JSON supports them, so spot-check the result
Validate the JSON file in a caption checker to catch overlapping cues or malformed timestamps

How to Convert SRT to JSON

  1. 1

    Select your SRT file

    Drag and drop your SRT file onto the converter, or click browse to choose from your files.

  2. 2

    Instant conversion

    The browser converts your SRT to JSON locally. No upload needed and no data leaves your device.

  3. 3

    Download the JSON

    Save your converted JSON file. Ready to use immediately.

Automate this conversion

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
Replace YOUR_API_KEY with your free key — no credit card needed.
Get a free API key

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.

Read our guides on file formats and conversion

Ready to convert your file?

Convert SRT to JSON instantly — free, no signup required.

Start Converting