Workflow
How to Turn an SRT Subtitle File Into Anki Cards
Convert an SRT subtitle file into clean Anki cards by fixing encoding, merging cues, preserving timestamps, mapping fields, and testing imports.
An SRT file cannot be imported directly as finished Anki cards. The reliable SRT-to-Anki workflow is to parse each numbered cue, clean its text, keep its start and end timestamps, select or merge useful utterances, map them into note fields, and then import a UTF-8 text file or a properly built APKG. Treat subtitle cues as timed source data—not as one-card-per-line instructions.
Use only subtitle and media files you created, own, or have permission or another applicable right to process. An SRT contains text and timing, not the accompanying audio or video, and this guide does not require downloading protected media or bypassing DRM.

Understand the SRT structure first
SRT is a plain-text subtitle format. A typical cue has a sequence number, a start and end time separated by -->, one or more text lines, and a blank line before the next cue:
27
00:01:14,200 --> 00:01:16,860
- Are you still coming?
- I wouldn't miss it.
The timestamp syntax is hours:minutes:seconds,milliseconds. Sequence numbers help order cues, but the timestamps are the durable source information worth retaining. The Library of Congress SRT format description also notes an important limitation: SRT has no single required character encoding. That is why a file can look correct in one editor yet show é, boxes, or question marks elsewhere.
Before parsing, save a working copy as UTF-8. Keep the untouched original so you can reverse a bad conversion. If the text already looks garbled, identify and reopen it using its actual source encoding before saving as UTF-8; repeatedly resaving mojibake usually makes recovery harder.
Clean cues without destroying meaning
Parse cue blocks as records, not by deleting every line that resembles a number or timestamp. Subtitle text can contain numbers, blank-looking Unicode characters, and multiline dialogue that a naive find-and-replace can damage.
Normalize multiline cues
Join wrapped lines with a space when they form one sentence. Keep a deliberate break only when it carries useful structure, such as two speakers in the same cue. For a plain-text import, you can flatten the cue to one line; if your Anki import explicitly allows HTML, <br> can preserve a meaningful line break.
Remove formatting tags such as <i> or <font> unless they serve a learning purpose. If literal angle brackets or ampersands must remain, escape them or import with HTML disabled. Anki's text-file import guide explains both the Allow HTML in fields option and the required escapes.
Handle speaker labels deliberately
Strip labels like SPEAKER: or leading dialogue dashes when the voice is obvious and the label adds clutter. Keep a short speaker field when identity changes meaning, two people share a cue, or you need to match optional audio later. Do not blindly remove everything before a colon; that can erase valid language.
Merge fragments, not every neighboring cue
Subtitle timing follows screen readability, so one spoken sentence may be split into short cues. Merge adjacent cues only when they:
- belong to the same utterance or speaker;
- have a small, plausible gap;
- produce one complete reviewable unit; and
- do not pull in a second learning target.
For example, merge “If I had known…” with “…I would have called” when the audio confirms one sentence. Do not merge two rapid replies merely because the timestamps touch. If the source has no subtitles you can trust, use the separate no-subtitle transcription workflow rather than guessing from fragments.
Choose cues worth reviewing
An SRT may contain hundreds of cues, including names, sound descriptions, repeated lyrics, credits, and fragments such as “Yeah.” Conversion should create candidates first; selection should decide the cards.
| Keep | Merge or edit | Usually skip |
|---|---|---|
| Complete, accurate line with one useful target | Sentence split across adjacent cues | Isolated filler with no learning value |
| Clear speaker and recoverable context | Unnecessary line wrapping or speaker dash | Unverified name, lyric, or overlapping speech |
| Timing that matches a permitted local source | Small systematic timing offset | Cue whose meaning depends on a whole missing scene |
For each candidate, verify spelling, punctuation, negation, names, and word boundaries against an authoritative transcript or permitted source audio when available. The goal differs from turning YouTube subtitles into Anki: here the technical input is an existing local SRT, regardless of where its authorized content originated.
Map SRT data to Anki fields
Keep source data separate from learning annotations. A practical note might use:
Sentence | Meaning | Translation | Start | End | Source | Audio | Notes
Put the cleaned cue text in Sentence; add a checked meaning or translation only when useful. Store Start and End exactly as normalized timestamps, such as 00:01:14,200 and 00:01:16,860. In Source, record a stable title or permitted local filename—not a temporary player URL. The broader Anki field-design guide explains why separate fields make templates easier to change later, while the source-timestamp guide shows how recoverable timing helps repairs.
CSV or tab-separated text
Anki desktop can import plain-text fields separated by commas, semicolons, or tabs. Save the export as UTF-8 and make every row contain the same number of fields. Tab-separated text is often simpler for subtitle sentences because dialogue naturally contains commas. If you use CSV, quote fields containing commas, quotes, or line breaks and double any quote inside a quoted field.
Map each import column to the intended Anki field in the import dialog. Import a small test batch first. Anki's manual warns that extra fields in later rows are ignored and missing fields are treated as blank, so a broken delimiter can silently shift or discard data.
APKG when templates or media must travel together
Use an APKG when you intentionally need to package note types, card templates, and permitted media with the notes. An SRT does not itself contain audio or images. If you match a permitted local recording, use the stored start/end times to cut or reference the correct moment, place Anki media references such as [sound:clip-0027.mp3] inside a field, and confirm the files are actually included. The official Anki media documentation explains collection media and missing-file checks.
Do not assume VidToAnki currently accepts SRT uploads: the product is in private beta, and input support should be confirmed before planning a product-specific workflow. Whether you create a text import manually or receive a package from an authorized tool, follow the APKG import guide for safe import and inspection.
Run import QA before scaling up
Test 10–20 representative notes, including non-Latin text, embedded commas, quotes, a multiline cue, an empty optional field, and the longest sentence.
- The file opens as UTF-8 with no mojibake or replacement characters.
- Every row maps to the same number of fields.
- SRT numbering and
-->lines did not leak intoSentence. - HTML is either intentionally interpreted or safely escaped.
- Start and end times still match the beginning, middle, and end of the source.
- Merged cues follow one utterance and do not mix speakers.
- Optional audio/image files are permitted, referenced, included, and playable.
- The front of each card tests one clear thing without exposing the answer.
If every timestamp is early or late by the same amount, correct a copy with one measured offset and recheck several distant points. If drift grows over time, a constant offset is not enough; the subtitle track and media may use different cuts or timing bases. Do not “fix” individual cards until you diagnose the pattern.
After import, preview both sides, search for empty required fields, count the resulting cards, and run Tools → Check Media when media is involved. Fix the pipeline, then re-export; repairing hundreds of notes individually defeats the purpose of a structured conversion.
SRT to Anki FAQ
Can Anki import an SRT file directly?
No. Convert parsed SRT cues into a UTF-8 comma-, semicolon-, or tab-separated text file, or package the resulting notes as an APKG with an appropriate tool.
Should every subtitle cue become an Anki card?
No. Cues are display and timing units. Keep complete, accurate utterances with one useful learning target, and merge only fragments that belong together.
How do I fix strange characters in an SRT file?
Reopen the untouched file using its actual source encoding, verify that the text is readable, then save a working copy as UTF-8 before exporting for Anki.
Can an SRT file include audio or images?
No. SRT stores subtitle text and timing. Audio or images must come from a separate source you are permitted to use and must be referenced and packaged separately for Anki.
Related guides
YouTube Subtitles to Anki: A Reliable Card Workflow
Turn permitted YouTube caption moments into focused Anki cards by selecting useful cues, checking transcript accuracy, aligning audio, and preserving source context.
Read article →Add Source Timestamps to YouTube Anki Cards
Store useful source timestamps on video-derived Anki cards so you can reopen the exact scene, verify context, repair errors, and avoid cluttered prompts.
Read article →Anki Card Fields for Language Learning: A Clean Setup
Build reusable Anki note fields for sentence, focus, meaning, translation, audio, image, source, and notes without locking content into one layout.
Read article →How to Import an APKG File Into Anki
Import an APKG deck into Anki on desktop, iPhone, iPad, or Android, choose safe scheduling options, and troubleshoot missing media or updates.
Read article →How to Make Anki Cards From a Video With No Subtitles
Use a permission-conscious fallback workflow to transcribe selected video moments, align reliable text and audio, and skip lines you cannot verify.
Read article →