Automatic captions for your WordPress videos – free, private and without per-minute fees.
Captions are required for pre-recorded video under WCAG 2.1 (success criterion 1.2.2) – the standard behind the US ADA Title II rule for state and local governments, the European Accessibility Act and the EU Web Accessibility Directive for public bodies. Writing captions by hand is slow, and captioning services charge per minute – often $0.25 a minute for AI captions and $1.99 a minute for human captions.
Captionwright writes them for you, right inside WordPress:
Your videos immediately show the captions in the core Video block and in [video] shortcodes – no theme changes needed. A clickable transcript below the video lets visitors – and search engines – read every word.
[video] shortcode[captionwright_transcript id="123"] shortcode for classic editors and page buildersFor larger sites, Captionwright Pro adds:
Everything in the free plugin stays free, with no limits on the number of videos or minutes.
Speech recognition happens on the computer of the person who clicks Generate. The audio is decoded in the browser and is never sent to any server. Captions are saved as WebVTT files in your own uploads folder.
This plugin downloads the Whisper speech-recognition model files from Hugging Face (huggingface.co) the first time you generate captions in a browser, and from the browser cache afterwards.
onnx-community/whisper-base), which include your IP address and browser user agent as with any web request. No audio, text or site data is sent.The library files ship unmodified in vendor/transformers/ together with their licence texts. They are copied byte for byte from the published npm packages:
transformers.min.js – dist/transformers.min.js from @huggingface/transformers 4.3.1. Source code: https://github.com/huggingface/transformers.js/tree/4.3.1ort-wasm-simd-threaded.asyncify.mjs and ort-wasm-simd-threaded.asyncify.wasm – from dist/ in onnxruntime-web 1.31.0-dev.20260914-8d85527a0. Source code: https://github.com/microsoft/onnxruntime/tree/8d85527a010e294a26b274749f74294b2a32cec5The .wasm file is ONNX Runtime compiled to WebAssembly. It is the engine that runs the Whisper model in the browser, on the graphics card (WebGPU) as well as on the processor, so captions cannot be generated without it. Only this one runtime file is included, not the other ONNX Runtime variants.