A library for dealing with ASS subtitles.

cutlass - JS library for ASS subtitles

cutlass is a Node.js module / JavaScript library for parsing and dealing with ASS subtitles.

Installation is simple with npm:

$ npm install cutlass

cutlass exports an object with four classes: Script, Event, Style and Color. The one you usually want to deal with is Script, which represents a whole ASS script. (For more detailed info about the classes and the functions and properties they export, refer to src/ for the time being.)

var ass = require('cutlass');
var rawAss1 = "..." // pretend this is a full ASS script read from disk 
var rawAss2 = "..." // this too 
var script1 = new ass.Script(rawAss1);
// sort the script by event start time 
// get the script as raw ASS 
var rawScript1 = script1.toAss();
var script2 = new ass.Script(rawAss2);
// for this script, we want to move all lines with the style "Sign" to the top. 
// `` is a plain JS array, so we can use them our purpose here. 
var signs = [];
var dialogue = [];
for (var i = 0, len =; i < len; ++i) {
  var line =[i];
  if ( === "Sign") {
  } else {
} = signs.concat(dialogue);
// get the script as ASS 
var rawScript2 = script2.toAss();