Keyframe (I-frame)

September 11, 2026
A frame stored in full, with no reference to its neighbours. Where seeking can land, where cuts are free, and a real share of the file size.
keyframe
i-frame
gop
seeking

A keyframe, or I-frame, is a frame the codec stores as a complete image. Every other frame is stored as a set of differences from frames around it — P-frames reference what came before, B-frames reference both directions. Only keyframes stand alone.

Two consequences that come up constantly:

Seeking lands on keyframes. A player can only start decoding from a complete frame, so dragging a scrubber jumps to the nearest one. If keyframes are 10 seconds apart, the picture cannot be positioned more precisely than that without decoding forward from the last one.

Lossless trimming can only cut at keyframes. Removing a section without re-encoding means dropping whole self-contained chunks. This is why a "lossless trim" tool snaps your cut points to somewhere near, but not exactly at, where you clicked — and why a tool that honours your exact cut point has to re-encode at least the surrounding segment.

Keyframes also cost. A full frame is several times the size of a difference frame, so keyframe interval is a direct file-size setting. Short intervals give responsive seeking and larger files; long intervals give the reverse. Two seconds is a common streaming default, because segment boundaries need one.

Scene changes normally force a keyframe regardless of the interval, which is why a video with many hard cuts is more expensive to encode than its length suggests.

See also