Subtitle Studio

Open a subtitle file (SRT, WebVTT, ASS/SSA, SBV, TTML or LRC), edit it in a list and convert it to another format. Shifting, two-point stretching, frame-rate fixes and checks for overlaps and reading speed all run in your browser.

On-device・No uploadMobile friendlyWorks offline

Your files and input are processed only inside your browser on this device and are never uploaded to our servers.

Drop a file here

or

Accepts: SRT / VTT / ASS / SBV / TTML / LRCUp to 5 MB per filePaste (Ctrl+V) also works

How to use

  1. talk.srtShift_JIS detected too

    Add SRT, VTT, ASS and more

  2. talk.srtcheck counts first

    Fix timing, then edit the list

  3. talk.vttconvert to WebVTT
    talk.assconvert to ASS

    Save in the format you choose

Load a subtitle file, fix its timing, then save it in another format
  1. Drop a subtitle file or click “Choose file”. The format and encoding (Shift_JIS, UTF-8 …) are detected automatically. If the text is garbled, pick another encoding under “Read the file as”.

  2. Under “Inspection thresholds” you see counts of overlaps, short cues, long lines, reading-speed overruns and empty cues. Change the numbers to match your client’s spec.

  3. Edit text, start and end directly in the list, merge, split, delete or append cues. Use “Shift everything” when all cues are off by the same amount, “Stretch with two points” when the drift grows, and “Fix a frame-rate mismatch” when the video’s frame rate differs.

  4. Pick the format, encoding and line endings, then download. Cues are renumbered from 1 on save.

  5. Optionally choose a video file from your device to play it with the current subtitles on top (it never leaves your device).

What it does

Six formats, converted both ways

Reads SRT, WebVTT, ASS/SSA, SBV (YouTube), TTML/DFXP (basic) and LRC, and writes the same six. The format is detected from the content, so a wrong extension is fine.

Detects Shift_JIS, EUC-JP and more

Common in Japanese subtitle files, Shift_JIS and other encodings are detected automatically, and you can pick another candidate if the guess is wrong. Save as UTF-8 (with or without BOM) or Shift_JIS; characters Shift_JIS cannot hold are listed beforehand.

Three timing fixes for three kinds of drift

Shift everything by a fixed amount, stretch proportionally from the correct times of two cues, or convert between frame rates (23.976, 24, 25, 29.97, 30). Each can be undone.

Inspection with your own thresholds

Lists overlaps, zero or negative length, too-short cues, over-long lines, characters-per-second (CPS) overruns and empty cues. Defaults are 13 characters and 4 chars/s for Japanese subtitles, 42 characters and 17 chars/s for English and similar (picked from the text), all adjustable.

Check against the video

Choose your video and the cues you are editing are overlaid as you play. “Jump the video here” on each cue seeks to its time.

Use cases

  • Convert a YouTube SBV or an SRT from a video editor into WebVTT for the web
  • Fix an SRT saved in Shift_JIS that shows garbled text (convert to UTF-8)
  • Move every subtitle 2 seconds earlier or later at once
  • Subtitles timed for 23.976 fps drift against a 25 fps video
  • Check overlaps, over-long lines and unreadably short cues before delivery
  • Pull just the text out of an ASS file as SRT

Supported formats

Input

SRTWebVTTASS / SSASBV (YouTube)TTML / DFXP (clock-time or seconds-based times)LRC

Output

SRTWebVTTASS (text only)SBVTTMLLRC (start times only)UTF-8 (with/without BOM), Shift_JISLF, CRLF

Capability matrix

FeatureSupportNotes
Convert between SRT, WebVTT, ASS, SBV, TTML and LRCSupported—
Automatic encoding detection (Shift_JIS, UTF-8, …)Supported—
List editing, merge, split, shift, two-point stretch, frame-rate fixSupported—
Inspection of overlaps, duration, line length and CPSSupported—
Preview over a video from your deviceSupportedThe video must be playable in your browser
ASS styles, positions and colours; WebVTT positioning; TTML stylingNot supportedOnly text and times are saved
TTML times in frames or ticksPartialNot read; those cues are skipped
Automatic transcription or translationNot supportedThis tool does not do either
Burning subtitles into a videoNot supportedSubtitle files only

Limits & notes

  • Up to 5 MB and 20,000 cues per file; one file at a time.
  • The list shows 50 cues per page. Undo keeps the last 30 edits.
  • Times go up to 99 hours with millisecond precision. ASS and LRC are saved rounded to 10 ms (1/100 s).
  • Tags such as <i> are removed when writing ASS, TTML or LRC. ASS styles are dropped on import.
  • Line length counts characters without tags but with spaces; CPS counts characters without tags and spaces.
  • Phones can open files too, but a desktop browser is recommended for checking long subtitle files.

Privacy & safety

Reading, encoding detection, editing, conversion and video playback all happen in your browser. Neither the subtitles nor the video are sent to or stored on a server.

FAQ

How do I convert SRT to WebVTT?
Open the SRT file, choose WebVTT under “Save as” and download. Time decimals change from a comma to a dot and a WEBVTT header line is added. Save as UTF-8 if you use it with an HTML track element.
My subtitles are out of sync. What do I do?
If every cue is off by the same amount, enter milliseconds under “Shift everything” (1000 = 1 second; positive delays, negative advances). If the error grows toward the end, use “Stretch with two points” with correct start times for an early and a late cue, or “Fix a frame-rate mismatch”.
A Shift_JIS subtitle file shows garbled text.
The encoding is detected when you open the file. If it is still garbled, choose Shift_JIS, UTF-8 or another encoding under “Read the file as”. Saving as UTF-8 makes it readable in most players and video sites.
Are ASS styles and positions kept?
No. ASS/SSA files are read for text and times only; fonts, colours, positions and effects are lost. Writing ASS produces a simple file with a single default style, so keep the original ASS if you need the styling.
Can it burn subtitles into video or generate them automatically?
No. It only edits, converts and checks subtitle files. It does not transcribe audio, translate, or burn subtitles into a video.
Are my subtitle files or videos uploaded?
No. Everything runs in your browser and nothing leaves your device.

CSV Encoding Fix

Convert CSV files that show garbled text in Excel to UTF-8 with BOM or Shift_JIS, with automatic encoding detection. Mojibake that was already saved, such as “日本語”, can usually be restored too.

No upload

Text Studio — Character Counter & Text Cleaner

Paste text to see characters, words, lines and bytes instantly, then clean it up in one click — change case, remove duplicate or blank lines, sort naturally, convert line breaks. Every action reports what changed and can be undone.

No upload

Diff Tool — Text & Code Compare

Paste or drop two versions and see added and removed lines, plus the exact words that changed inside each line. Copy or save the result as a unified patch. Nothing leaves your browser.

No upload

Audio Converter and Video Audio Extractor

To get just the sound from a video, choose the video and an output format (MP3, M4A, WAV, Opus or FLAC). If the source audio is AAC, M4A is written without re-encoding, so the quality does not change. Your file is never uploaded.

No upload

Screen Recorder

Record a screen, window or tab, your webcam and microphone without installing anything. Add a camera overlay or mix mic and tab audio. Recordings stay inside this device and are never uploaded.

No upload

Video Converter, Rotate and Crop

To change only the container, the picture and sound are copied as they are, so the quality stays the same and it is quick. MP4 and MOV can store the rotation without changing the picture. To make a wide video vertical (9:16), fit it with a blurred background or black bars. Your file is never uploaded.

No upload

Last updated: