Skip to main content
🇪🇸 Español 🇧🇷 Português 🇩🇪 Deutsch 🇫🇷 Français 🇯🇵 日本語 🇮🇹 Italiano 🇮🇩 Bahasa Indonesia 🇹🇷 Türkçe 🇰🇷 한국어 🇵🇱 Polski 🇳🇱 Nederlands
Image Converter Document Converter Video Converter Audio Converter
Tools Formats (201) Guides Pricing · ⚡ 4,99 € API
Log In
Guide · vtt → srt

WebVTT: The Complete Guide to Web Video Text Tracks

✓ ISO/IEC Verified · 6 min · · By Pablo Cirre
WASM + ISO-27001 HYBRID ENGINE
→
📏 Physical Size (CM / MM / Inch → 300 DPI Pixels)
Passport & ID Presets:

📈 Target Minimum File Size (Guaranteed ≥ KB)

Lossless JPEG Q100 + standard COM segment padding for government & exam portals

Tap to choose your file

QUICK INGEST:
Max 25 MB · Free plan · No signup required

Convert to:

Detecting available formats...

Target Max File Size:

Optimize for:
⚡ Instant In-Browser • 100% Private (0s)

Uploading...

⚡ Converted locally in your browser (0ms upload)

READY!

Advertisement
Original preview
Converted preview

🛡️ Verification Audit

  • ✓
  • ✓ sRGB Color Fidelity
  • ✓

Continue with this converted file (0s zero re-upload):

⚡ Install Desktop App for 1-Click Conversions

Batch Conversion Ready!

⚡ Install Desktop App for 1-Click Conversions
Advertisement
🕒 Recent Conversions (60m Session)
Guide (10) +
Advertisement

Frequently Asked Questions

Both are plain text subtitle formats, but WebVTT (W3C standard, 2010) is the modern web standard while SRT is an older format. WebVTT is the only format natively supported by the HTML5 <track> element and browsers. VTT adds cue positioning (left/right/top/bottom), inline styling with CSS classes and HTML-like tags, voice tags for multiple speakers, chapter markers, and metadata cues for JavaScript. SRT is simpler and has slightly broader support in video editing software. For web delivery, use VTT; for compatibility with non-web tools, SRT is often easier.

AV1 is the most efficient (royalty-free, ~30% smaller than H.265) but encoding is slow. H.265 (HEVC) saves ~30–50% over H.264 and is supported by every modern phone and desktop. H.264 remains the safest baseline for legacy compatibility. Rule of thumb: archives → AV1, daily use → H.265, broadest reach → H.264.

Use the <track> element inside your <video> tag: `<video controls><source src="video.mp4" type="video/mp4"><track kind="captions" src="captions.vtt" srclang="en" label="English" default></video>`. The `kind` attribute specifies the track type (captions, subtitles, chapters, descriptions, metadata). The `srclang` attribute is the BCP 47 language code. The `default` attribute makes this track active by default. For subtitles to display correctly, serve the .vtt file from the same domain or with proper CORS headers.

CRF (Constant Rate Factor) is the best default for offline files: ffmpeg picks the bitrate frame-by-frame to maintain perceived quality. Two-pass is only better when you must hit an exact final size (DVD targets). Constant bitrate is for streaming with a fixed channel. For "smallest at quality X" always use CRF.

With ffmpeg (free): `ffmpeg -i input.srt output.vtt`. With Python and the srt library: `pip install srt`. Manually: (1) add WEBVTT as the first line, (2) change the timestamp millisecond separator from comma to period (00:00:01,000 becomes 00:00:01.000), (3) cue numbers are optional in VTT so you can leave them or remove them. Most video editing software (Premiere Pro, DaVinci Resolve, Final Cut) can export VTT directly.

Common causes: (1) variable framerate source rendered as constant (use <code>-vsync vfr</code> to preserve VFR); (2) different audio sample rates not resampled (add <code>-ar 48000</code>); (3) container limitations (MP4 with variable framerate misbehaves — prefer MKV during editing, encode to MP4 only at the end). Always run <code>ffprobe</code> on both source and output to compare timing.

Yes. OpenAI's Whisper model is the most accurate free AI transcription tool and outputs WebVTT directly: `pip install openai-whisper; whisper audio.mp3 --output_format vtt --language en`. The `--language en` flag forces English (speeds up processing); omit it for auto-detection. For a no-code option, YouTube auto-generates captions for uploaded videos and lets you download them as VTT files. The online tool Veed.io, AssemblyAI, and Descript also generate WebVTT captions from audio/video files.

Yes if you only change the container: <code>ffmpeg -i in.mkv -c copy out.mp4</code>. This remuxes the stream without re-encoding, takes seconds even for hours of footage. Limitations: codec must be supported by the target container (e.g. you cannot put H.264 in WebM, only VP8/VP9/AV1). To shrink size you must re-encode.

Professional Workstation Solution
Unlimited Batch Jobs Zero Upload Wait Times Direct Disk-to-Disk I/O

Need to Convert Gigabyte Archives or Mass Folders?

KaijuConverter delivers ultra-fast in-memory conversions for everyday tasks. For multi-gigabyte production workloads without browser bandwidth bottlenecks, explore high-throughput desktop suites.

Zero cloud transfer • Native hardware performance
24-Hour Fast Pass (€4.99 one-time) Up to 1 GB · No subscription

One-time payment with zero recurring commitment: convert files up to 1 GB, OCR, PDF/A, and .ZIP batches for 24 hours.

Instant Stripe Checkout →
7-Day Project Pass (€9.99 one-time) 7 Days · 2 GB · Ad-Free

Full 7 days of unlimited conversions, up to 2 GB per file, 100% ad-free with zero subscription.

Instant Stripe Checkout →
Kaiju Cloud Business Annual (€99/yr) Up to 2 GB + B2B Invoice

High-throughput enterprise pipeline for files up to 2,048 MB, 50-file batches, ISO PDF/A, and priority processing.

Instant Stripe Checkout →
ImageMagick CLI / XnConvert Free • Mass Batch

Convert thousands of camera RAW files (CR3, NEF, ARW) to WebP, AVIF, or TIFF in one pass.

Affinity Photo / Adobe Lightroom Photo Pro

GPU-accelerated RAW development with end-to-end 16-bit ICC color profile management.

Advertisement
We use cookies and similar technologies to personalise content and ads, and to analyse traffic. Learn more about cookies.