WinSTT logoWinSTT

File Transcription

Drag an audio or video file onto WinSTT — or pick one from the tray — and get a plain-text or timestamped SRT transcript next to it. Uses your main model, fully offline.

Drop an existing recording onto WinSTT and it transcribes the whole file in one pass, writing the text to a .txt or .srt file beside the source — no dictation, no hotkey, same on-device model you use for live dictation.

Queued0 / 3
Drop audio or video files
Drag in a batch of recordings — each one transcribes on-device and a timestamped .srt or plain .txt is written right beside it.

Two ways to start

Both routes feed the same engine; only how you hand it the file differs.

  1. Drag and drop

    Drag an audio or video file from Explorer onto the main window. While the file is over the window the visualizer area shows a "Drop file to transcribe" overlay; release to start. This is the fastest path when the window is visible.

  2. Transcribe File… from the tray

    Right-click the tray icon and choose Transcribe File…. A native picker titled "Select Audio or Video File to Transcribe" opens; select one file. Use this when the window is minimized to the tray.

The WinSTT tray context menu listing Settings, Transcribe File…, Check for Updates, and other entries.
Transcribe File… opens a file picker without needing the main window in front.

A request runs to completion in the background and reports progress as it goes; the running dictation model stays connected the whole time.

Supported formats

WinSTT accepts common audio and video containers — the audio track is extracted and transcribed. Anything outside this list is rejected with an "Unsupported file format" message.

The dropped or picked file must have one of these extensions, exist on disk, and the STT server must be connected.
KindExtensions
Audio.mp3 · .wav · .flac · .m4a · .aac · .ogg · .wma
Video.mp4 · .mkv · .avi · .mov · .wmv · .flv · .webm

Output format

One setting, in the Output tab, decides what gets written.

The File Transcription section of the Output tab with TXT, SRT, VTT, JSON, and CSV format choices.
Choose one or more formats in the Output tab; every selected format is written from the same transcription.
File Transcription Formatsdefault txt
general.fileTranscriptionFormats

Select any combination of plain text, subtitle, and structured-data outputs. At least one format always remains selected.

The selected formats apply to every file you transcribe until you change them. SRT, VTT, and CSV use segment timings. JSON includes word timings when the selected timestamp-capable Whisper export provides them; otherwise each segment has an empty words array.
FormatContentsBest for
TXTContinuous plain text, no timingNotes, articles, pasting into a doc
SRTNumbered cues with start/end timecodesCaptions and subtitles for video
VTTWebVTT cues with start/end timecodesWeb players and browser captions
JSONSchema-tagged segments and optional word timingsAutomation and downstream processing
CSVOne row per segmentSpreadsheets and data analysis

Where files land

The output filename is the source path with the format appended — transcribing interview.mp3 produces outputs such as interview.mp3.txt, interview.mp3.srt, or interview.mp3.json. Where each file is written depends on one setting.

Save Locationdefault auto
general.fileTranscriptionSaveLocation

Auto writes the transcript next to the source file automatically, with no prompt. Ask opens a Save dialog each time so you can choose the folder and name; cancelling the dialog cancels the transcription. Auto is the default.

Same model as dictation

File transcription reuses your main model — whatever you picked in the Model tab. There's no separate file engine, so accuracy, language scope, and device all match your dictation setup. Larger files take proportionally longer; a heavier model trades speed for accuracy here just as it does live.

The server must be running

Transcription is dispatched to the local STT server over the WebSocket. If the server is still starting up or disconnected, the request is refused with a connection error — wait for the app to show connected, then retry.

On this page