All Tools View Categories About Contact Privacy

Karaoke Timing Generator

Generate ASS karaoke timing tags.

Runs entirely in your browser — no data is uploaded or stored.

Each non-space character gets an equal share of the cue duration as a \k tag.

About this tool & how to use it
  • Per-character karaoke tags: Every non-space character receives its own {\k} tag rather than one tag per word, which gives the smoothest possible sweep and the finest starting point for manual refinement.
  • Even duration split: Each cue's length is divided equally between its non-space characters, so the highlight finishes exactly as the cue ends instead of drifting out of sync.
  • Whitespace preserved: Spaces and line breaks inside a cue are passed through untagged, so words remain separated and multi-line lyrics keep their layout.
  • Single-input simplicity: The only control is the SRT Content box and a Run button, so there is nothing to configure before you get a working karaoke script.
  • Safe on odd cues: A minimum duration and character count guard the division, so cues with identical start and end times or empty text still produce valid output rather than an error.
  • Full ASS script out: The result is a complete file with script headers and a Dialogue line per cue, not a fragment you have to paste into a template.
  • Timing faithful to the source: Cue start and end times are carried over into ASS centisecond timecodes, so the karaoke stays locked to your existing spotting.
  • Instant and local: All processing happens in the page with no upload, which keeps unreleased tracks and client lyrics private.
  1. Time your lyrics as an ordinary SRT first, with one cue per line or phrase, since the accuracy of the karaoke depends entirely on those cue boundaries.
  2. Paste that file into the SRT Content box, or press Load sample to see the effect on a supplied example before committing your own lyrics.
  3. Press Run to generate the karaoke script; each cue is split into per-character tags carrying an equal share of that cue's duration.
  4. Inspect the result panel and confirm that every visible character is preceded by a tag and that the spaces between words are still there.
  5. Click Download to save the script with its .ass extension, giving it the same base name as the audio or video file it belongs to.
  6. Play the video with the script loaded in a player that supports karaoke tags and watch the highlight sweep against the vocal.
  7. Where a held note or a fast run needs different pacing, edit those individual tag values in a text editor - the generated file gives you the structure so you only fine-tune the exceptions.

Example 1 - a single sung line. One cue of lyric, already timed, becomes a per-character karaoke line. Each non-space character carries an equal share of the cue's duration.

Input (SRT):
1
00:00:10,000 --> 00:00:12,000
Hello world

Output (ASS text):
{\k200}H{\k200}e{\k200}l{\k200}l{\k200}o {\k200}w{\k200}o{\k200}r{\k200}l{\k200}d

Ten non-space characters share a two-second cue, so each gets an identical value and the space between the two words is left as a plain character with no tag of its own.

Example 2 - a long held cue. A four-second cue containing a short phrase produces much larger per-character values, so the highlight crawls across the words instead of racing. That is the cue to split into two shorter cues in your SRT and regenerate, which is usually faster than editing tag values one by one.

About Karaoke Timing Generator

The Karaoke Timing Generator converts an ordinary SRT pasted into the SRT Content box into an ASS file where every cue is broken into character-by-character karaoke timing. Each non-space character is preceded by its own {\k} tag carrying a duration, so a compatible renderer can sweep a highlight across the lyric as it is sung. The script downloads with an .ass extension.

Hand-timing karaoke is one of the most laborious jobs in subtitling. Fansub groups, music-video channels and language teachers building sing-along exercises all want the effect, but timing every syllable by ear takes hours per song. Starting from a cue-level SRT and letting the tool distribute the timing gives you a playable karaoke script in seconds - finished work for steady-tempo material, and a scaffold you refine where the melody stretches a word.

The maths is deliberately simple. For each cue the tool measures the gap between start and end, counts the characters ignoring whitespace, and divides the duration evenly between them. Every non-space character is emitted behind a {\k} tag holding that share, while spaces pass through untouched so words stay separated and line breaks survive. A minimum duration and character count guard the division, so zero-length or empty cues cannot break it, and the result is a complete ASS script with headers and one Dialogue line per cue. All of it is computed in your browser with no upload.

Features

  • Per-character karaoke tags: Every non-space character receives its own {\k} tag rather than one tag per word, which gives the smoothest possible sweep and the finest starting point for manual refinement.
  • Even duration split: Each cue's length is divided equally between its non-space characters, so the highlight finishes exactly as the cue ends instead of drifting out of sync.
  • Whitespace preserved: Spaces and line breaks inside a cue are passed through untagged, so words remain separated and multi-line lyrics keep their layout.
  • Single-input simplicity: The only control is the SRT Content box and a Run button, so there is nothing to configure before you get a working karaoke script.
  • Safe on odd cues: A minimum duration and character count guard the division, so cues with identical start and end times or empty text still produce valid output rather than an error.
  • Full ASS script out: The result is a complete file with script headers and a Dialogue line per cue, not a fragment you have to paste into a template.
  • Timing faithful to the source: Cue start and end times are carried over into ASS centisecond timecodes, so the karaoke stays locked to your existing spotting.
  • Instant and local: All processing happens in the page with no upload, which keeps unreleased tracks and client lyrics private.

How to Use

  1. Time your lyrics as an ordinary SRT first, with one cue per line or phrase, since the accuracy of the karaoke depends entirely on those cue boundaries.
  2. Paste that file into the SRT Content box, or press Load sample to see the effect on a supplied example before committing your own lyrics.
  3. Press Run to generate the karaoke script; each cue is split into per-character tags carrying an equal share of that cue's duration.
  4. Inspect the result panel and confirm that every visible character is preceded by a tag and that the spaces between words are still there.
  5. Click Download to save the script with its .ass extension, giving it the same base name as the audio or video file it belongs to.
  6. Play the video with the script loaded in a player that supports karaoke tags and watch the highlight sweep against the vocal.
  7. Where a held note or a fast run needs different pacing, edit those individual tag values in a text editor - the generated file gives you the structure so you only fine-tune the exceptions.

Examples

Example 1 - a single sung line. One cue of lyric, already timed, becomes a per-character karaoke line. Each non-space character carries an equal share of the cue's duration.

Input (SRT):
1
00:00:10,000 --> 00:00:12,000
Hello world

Output (ASS text):
{\k200}H{\k200}e{\k200}l{\k200}l{\k200}o {\k200}w{\k200}o{\k200}r{\k200}l{\k200}d

Ten non-space characters share a two-second cue, so each gets an identical value and the space between the two words is left as a plain character with no tag of its own.

Example 2 - a long held cue. A four-second cue containing a short phrase produces much larger per-character values, so the highlight crawls across the words instead of racing. That is the cue to split into two shorter cues in your SRT and regenerate, which is usually faster than editing tag values one by one.

Benefits

  • Hours of syllable timing removed: Producing a playable karaoke script from an existing SRT takes one click instead of an evening in a subtitle editor.
  • A reliable starting point: Even when a song needs manual polish, having every character already tagged means you adjust values rather than build the structure from nothing.
  • Locked to your existing spotting: Because the split is derived from real cue durations, the effect stays in sync with timing you have already checked and approved.
  • Engaging output for viewers: Sing-along highlighting makes lyric videos, music channels and language-learning material noticeably more watchable than static captions.
  • No specialist software needed: You get a standard ASS file that ordinary players and encoders understand, without buying or learning a dedicated karaoke package.
  • Unreleased tracks stay private: All processing happens in your browser, so lyrics for music that is not out yet never leave your computer.

Frequently Asked Questions

What are \k tags?
ASS karaoke tags that allocate a duration (in centiseconds) to each syllable/character for highlight effects.
How is timing split?
The cue’s duration is divided evenly across its non-space characters.
Where does it show?
In players that render ASS karaoke; the text progressively highlights.
Is my file uploaded?
No, generation runs locally.