Premiere Pro won't import your SRT
"The importer reported a generic error" names nothing, which is why this question has been asked on Adobe's forums for years without a settled answer. In practice it is almost always one of four things, and you can tell which in under a minute.
Start transcribing, freeCheck these in order
- A byte order mark at the start of the file. This is the most common cause and the hardest to see, because a BOM is invisible in every editor that does not deliberately show it.
- The wrong text encoding, usually ANSI or UTF-16 where UTF-8 was expected. Suspect this first if the transcript contains accents, curly quotes, or any non-Latin script.
- Malformed cues: a missing blank line between cues, a cue with no text, or timecodes using a full stop instead of a comma.
- A file that is not really an SRT, most often a WebVTT that was renamed.
The byte order mark
A BOM is three bytes some editors write at the start of a UTF-8 file to mark it as Unicode. It is invisible. When Premiere reads the file, the first cue number is not "1" but an invisible character followed by "1", which is not a number, so the parse fails on line one and the whole file is rejected.
Notepad on Windows adds one by default with "UTF-8". Saving as "UTF-8 without BOM" fixes it. In VS Code the encoding is in the status bar; choose "Save with Encoding" → "UTF-8" rather than "UTF-8 with BOM".
A BOM also explains the version of this where the file imports but the very first caption is missing or shows a stray character. Same cause, slightly more forgiving parser.
Encoding
If your captions are English and plain, encoding is rarely the problem. If they contain accented characters, curly quotation marks, em dashes, or any non-Latin script, it often is. The symptom short of a hard failure is mojibake: characters rendered as question marks or as pairs like é where an é should be.
Re-save as UTF-8 without a BOM. Premiere handles UTF-8 fine; it is the alternatives it struggles with.
Malformed cues
SRT is strict about its blank lines: exactly one blank line separates cues, and the structure is a number, a timing line, then the text. A cue whose text is empty, or two cues run together with no blank line, will stop the import. Hand-edited files and files produced by scripts are where this shows up.
Timecodes use a comma before the milliseconds: 00:00:01,000. A full stop there is WebVTT's convention, and a file mixing the two is a renamed .vtt.
The quickest fix
Run the file through the SRT to VTT converter and back, or straight into whichever format you actually need. It reads the file forgivingly (stripping a BOM, normalising line endings, ignoring cue numbering) and writes a clean one. If it reports no cues found, the file is not an SRT at all, which is itself the answer.
If you are heading into Premiere anyway, converting to marker XML skips the caption importer entirely and puts the transcript in the Markers panel instead.
Frequently asked questions
What does "the importer reported a generic error" actually mean?
That Premiere's SRT parser failed and has no specific message for why. It is a catch-all, so the message itself tells you nothing about the cause: work through encoding, BOM, and cue structure in that order.
Why does only part of my SRT import?
Usually one malformed cue partway through: an empty text block, a missing blank line, or a timecode that does not parse. Premiere stops at that point rather than skipping it, so the last cue that imported is directly above the problem.
Can Premiere import WebVTT?
Current versions can. Renaming a .vtt to .srt is still not the way to do it, because the contents are then wrong for the parser handling the file.
Will re-transcribing fix it?
It would, but it is rarely necessary: the problem is the file's encoding rather than its content. Converting the existing file is faster and keeps any corrections already made.
Ready to try it?
Try it free without an account. Sign in to download your file, plus 15 minutes and 5 transcriptions a month.
Open the subtitle generatorNeed more than that? See pricing : one-time packs from $5, and nothing expires.