Manifest diff

HLS Manifest Diff: Compare Two M3U8 Playlists

An HLS manifest diff shows exactly what changed between two M3U8 playlists, added or removed renditions, changed bitrates, segment differences, or edited tags. Paste both manifests below to get a line-by-line diff and a metric comparison. It runs entirely in your browser, so it works on internal or unreachable manifests too.

Paste two manifests to compare

Paste a manifest into both boxes (or load the sample) to see the comparison. Everything runs in your browser.

When to diff two manifests

Comparing manifests is a fast way to debug streaming issues. Diff the same stream from two CDN nodes to spot inconsistent edge responses, compare a transcode before and after a pipeline change, or check two captures taken seconds apart to see how a live playlist is rolling. The metric comparison highlights changes in rendition count, segment count, and playlist type at a glance.

How the comparison works

The tool runs a line-by-line diff (longest-common-subsequence) that preserves order and marks each line as unchanged, added, or removed. Above it, a metric table compares the two manifests by type (master vs media), number of renditions, segments, and lines, flagging the values that differ. Very large media playlists skip the line diff to stay responsive, but still show the metric comparison.

Private by design

Because the diff only reads the text you paste, nothing is fetched or uploaded. You can safely compare internal, signed, or otherwise unreachable manifests that a server-side tool could never load, which is exactly what makes it useful for debugging production streams.

Frequently asked questions

What can I compare with an HLS manifest diff?

Any two M3U8 playlists, two CDN nodes, a transcode before and after changes, or two captures of a live stream. It works for both master and media playlists.

Does it upload my manifests?

No. The comparison runs entirely in your browser. Nothing is fetched or sent to a server, so internal and private manifests are safe to compare.

Why is the line diff skipped for big playlists?

A line-by-line diff is memory-intensive for very long media playlists, so above a size threshold the tool shows only the metric comparison to keep the page responsive.

How do I read the diff colors?

Green lines (prefixed with +) exist only in manifest B, red lines (prefixed with -) exist only in manifest A, and unchanged lines are shown in muted text.