Skip to content
Pixora

Text to Subtitle

Processed locally in your browser — nothing is uploaded.

Quick answer

Text to Subtitle turns a plain transcript into a timed caption file. Paste your text, and the tool spaces each cue by reading speed — characters per second — with a minimum on-screen duration and small gaps between lines, splitting anything too long at word boundaries. It writes SRT or VTT you can download, all in your browser with nothing uploaded. It is not speech recognition: it times text you already have.

How to text to subtitle

  1. Paste your transcript

    Drop a .txt file or paste the text. Each line, or each sentence, becomes the basis for one or more caption cues.

  2. Set the timing rules

    Choose the reading speed in characters per second, a minimum cue duration, the gap between cues and the maximum characters per line.

  3. Generate and download

    The tool builds the timed cues and shows them in the preview. Download the result as .srt or .vtt to fine-tune against your audio.

How does it decide the timing?

The generator has no audio to listen to, so it estimates each cue’s duration from how much there is to read. It counts the characters in a cue and divides by your reading speed (characters per second, or CPS). A line of 60 characters at 15 CPS earns four seconds on screen. Two rules keep short lines sensible: a minimum duration so a two-word cue does not flash past, and a small gap between consecutive cues so captions do not visually collide. Cues are laid end to end from the start, so the file is internally consistent even though it does not yet match a soundtrack.

What happens to long lines?

A single 200-character paragraph would be an unreadable wall of caption. When a line exceeds your maximum characters per line, the tool splits it at word boundaries — never mid-word — into several cues, and times each piece by the same CPS rule. Short lines are left as single cues. This keeps every caption within a comfortable reading width.

The timing parameters and what they control.
SettingTypical valueWhat it does
Reading speed (CPS)15–17 chars/secHow long a cue stays up, per character
Minimum duration≈ 1 secondFloor so short cues do not flash by
Gap between cues≈ 80 msBlank frame so captions do not touch
Max characters / line≈ 42Above this the line is split at a space

Is this the same as automatic captioning?

No — and the distinction matters. Speech recognition listens to audio and produces both the words and their exact timing. This tool does the opposite job: it takes words you already have and gives them plausible timing. If you do not yet have a transcript, you need transcription first; if you have the script but no timing, this is exactly the tool. Once generated, refine the result cue-by-cue in the subtitle editor or nudge the whole file with the subtitle shifter.

Is my text uploaded?

No. The transcript you paste is timed and formatted entirely in your browser — the cues are built in memory and serialised to SRT or VTT locally, with no network call. Confirm it in DevTools → Network: generating a file sends nothing. Your script, which is often the most confidential part of a production, never leaves your machine.

Already have captions and want the words back out? Use subtitle to text. Need a different output format afterwards? The subtitle converter targets ASS, SBV and TTML too. When the timing is dialled in, add the subtitles to your video to ship a captioned file.

Your files never leave your device

Processed locally in your browser — nothing is uploaded. You can verify it yourself: open your browser’s developer tools, watch the Network tab, and use the tool — no upload request is ever made.

Frequently asked questions

Does this transcribe my audio automatically?

No. It is not speech recognition. It times text you paste in; it never listens to a video or audio file. If you have no transcript yet, transcribe first, then bring the text here.

Why are the cue times not matching my video?

The timing is estimated from reading speed, not from the audio, so it starts from zero and spaces cues evenly. Treat it as a scaffold and fine-tune against the soundtrack afterwards.

What is characters per second and what should I set it to?

CPS is how many characters a viewer reads per second; it sets how long each cue stays up. Around 15–17 is comfortable for most audiences — lower it for slower reading, raise it for dense speech.

How does it split a very long paragraph?

When a line exceeds the maximum characters per line, it is broken at word boundaries into multiple cues, so words are never cut in half and each caption stays a readable width.

Can I export to VTT for a web player?

Yes. Choose VTT and the file includes the WEBVTT header ready for the HTML5 `<track>` element; choose SRT for VLC, YouTube and desktop players.

Will it keep my line breaks?

Each line of your input starts a new cue, so intentional breaks are respected. Lines longer than the maximum are then split further at spaces.

Is a minimum duration really needed?

Yes. Without it a very short line could appear for a fraction of a second. The minimum guarantees every cue stays on screen long enough for the eye to land on it.

Is my pasted text sent anywhere?

No. The whole generator runs client-side in your browser. You can verify there is no upload in the Network tab of your developer tools.