Convert ASS to VTT with the SubtoVTT API

Convert ASS/SSA to WebVTT for the browser. One API call, no styling loss, ready for video players. Free API key to test. v1 · stable

Convert ASS to VTT programmatically with one HTTP request. The ASS to VTT API turns styled ASS/SSA subtitles into WebVTT — the format the browser's <video> element renders natively. If your player or platform needs WebVTT but your captions are ASS, this is the conversion you want.

The converter keeps the dialogue and timing, converts what it can to WebVTT cue settings, and drops ASS-only constructs (fonts, colors, drawing commands). One credit per conversion, 100 free credits to start.

Why convert ASS to VTT with an API

  • Browser-native: WebVTT plays in HTML5 <video> without plugins.
  • Streaming: WebVTT is the format most platforms ingest.
  • Automate: hand styled captions to a browser app in one call.

Convert with cURL

curl -X POST https://api.example.com/api/v1/convert \
  -H "Authorization: Bearer your_api_key" \
  -F "[email protected]" \
  -F "from=ass" \
  -F "to=vtt" \
  -o movie.vtt

Compact example — Node.js

const fs = require("node:fs");

(async () => {
    const form = new FormData();
    form.append("file", new Blob([fs.readFileSync("movie.ass")]), "movie.ass");
    form.append("from", "ass");
    form.append("to", "vtt");

    const res = await fetch("https://api.example.com/api/v1/convert", {
        method: "POST",
        headers: { Authorization: `Bearer ${process.env.SUBTOVTT_API_KEY}` },
        body: form,
    });
    if (!res.ok) throw new Error(await res.text());
    fs.writeFileSync("movie.vtt", Buffer.from(await res.arrayBuffer()));
})();

Full examples by language

Format notes

Topic Detail
Output WebVTT (.vtt), UTF-8
Header Adds the WEBVTT declaration line
Timestamps Same timing, converted to WebVTT syntax
Styling ASS-only fonts/colors dropped; cue settings kept where possible
Usage HTML5 video, streaming platforms

Note: for exact visual styling (fonts, colors, positioning), keep ASS. For broad player compatibility, WebVTT is the safer target.

FAQ

What ASS styling survives the conversion? Dialogue and timing always carry over. WebVTT supports a subset of positioning via cue settings; fonts, colors, and drawing commands do not translate.

Which should I target — ASS or VTT? Use VTT for anything rendered in a browser or streaming platform; use ASS when you need precise styling and the player supports it.

Next

↑ Back to top