Video repurposing utilities
Free Video Caption Toolkit
Count caption characters, estimate words and plan caption sections from a duration. Add your own timing details for optional rate and display-time estimates.
01 | Text
Caption Text Checker
Paste or type text to count characters and estimate words. Optionally add a display duration and your own characters-per-second target.
Outer whitespace and line breaks are excluded. Internal spaces and punctuation count towards the total.
Positive number, up to 3 decimal places.
Positive number, up to 3 decimal places.
Maximum 1,000 is a software limit, not a recommendation. No universal reading-speed target is provided.
Text results
- Characters
- Estimated words
- Characters per second
- Estimated words per minute
- Estimated display time at your target
- Numerical target comparison
This treats all pasted text as one displayed segment. It does not find caption breaks, verify the audio, certify accessibility, measure visual width or establish universal readability. A result below your target is a numerical comparison only.
Count definitions and limits
Outer whitespace is ignored. Internal spaces and punctuation count. CR, LF, CRLF, NEL (U+0085), line separator (U+2028) and paragraph separator (U+2029) do not count as characters. Characters are Unicode clusters, so combined accents and joined emoji are counted together. Word counts use browser segmentation with en-GB rules and are estimates, especially across languages. Markup is counted as literal text, not rendered.
Limit: 20,000 UTF-16 code units and 64 KiB UTF-8 bytes. Some emoji use more than one code unit. Oversized input is rejected, never shortened automatically.
Positive decimal, up to three decimal places; maximum 86,400 seconds. Use at most 32 UTF-16 code units, including whitespace.
Leave blank unless you have a target. Maximum 1,000 is a software limit, not a recommendation. No universal reading-speed target is provided. Use at most 32 UTF-16 code units, including whitespace.
Character rate = characters divided by entered seconds. Word rate = estimated words divided by seconds, multiplied by 60. Target display time = characters divided by your target, rounded upward to a tenth of a second. Comparisons use unrounded values.
02 | Planning
Caption Planner
Use a known or hypothetical duration. Estimate caption sections at your chosen average length, without a recording or transcript.
Positive number, up to 3 decimal places.
Changing units clears the duration. Re-enter it in the new unit.
Positive number, up to 3 decimal places.
Maximum 86,400 seconds is a software bound, not a suggestion.
Duration-based section estimate
- Estimated caption sections
This is not actual speech timing. It assumes the entire entered duration is divided into caption sections at your chosen average length. Speech, pauses, sentence boundaries and visual context can change both the count and breaks. Review the source in an editor; this estimate is not a guaranteed minimum or maximum.
Calculation and limits
Positive decimal, up to three decimal places; total duration cannot exceed 24 hours. Use at most 32 UTF-16 code units, including whitespace.
Positive decimal, up to three decimal places; maximum 86,400 seconds is a software bound, not a suggestion. Use at most 32 UTF-16 code units, including whitespace.
Scope
No SRT checker, uploads, accounts, saved projects or automatic publishing are included. Clear removes page inputs and results, not necessarily every browser or operating-system memory copy.
The text and timing values shown are synthetic inputs created for illustration only. They are not transcripts, not recommended caption settings, and do not represent any real video or production workflow.
FAQs
What does the tool count?
The tool counts user-perceived grapheme clusters. Outer whitespace is ignored, and all supported line breaks throughout the text are excluded, including internal ones, not only those at the edges. Internal spaces and punctuation are counted. Words are estimated using the native Intl.Segmenter with en-GB rules.
How does timing work?
An optional display duration in seconds yields characters per second and an estimated words per minute figure. Estimated WPM is calculated as the estimated word count divided by the number of seconds, multiplied by 60, and is not derived from the character count. Supplying only an optional CPS target yields a target-derived estimated display duration in seconds, rounded upward to the nearest tenth. Supplying both a duration and a CPS target yields a numerical comparison. There is no WPM input and no advice on reading speed. Pasted text is treated as one displayed segment rather than as detected individual captions.
Can I upload a video or audio file for transcription?
No. The toolkit does not accept file uploads, perform transcription or connect to any external service. It is a client-side calculator that works entirely with values you type or paste directly into the tool.
Does the toolkit assess readability, accessibility compliance or audio quality?
No. The toolkit produces character counts, estimated word counts and estimated section counts based solely on your inputs. It does not assess readability, certify accessibility compliance or evaluate audio quality in any way.
What happens if my browser does not support the APIs the toolkit uses?
The toolkit relies on the browser-native Intl.Segmenter API for word estimation and String.prototype.isWellFormed for text validation. If your browser does not support one or both of these, the tool will display a clear error message explaining which feature is unavailable rather than producing a silent or incorrect result.
Privacy
This toolkit runs entirely in your browser. No text you paste or values you enter are transmitted to or stored on any server by this tool. Normal page requests and hosting logs exist as part of standard web infrastructure. Copies of data may remain in your browser or operating system environment; clearing them through your browser is not a guarantee of secure erasure.