← Film
Tagging

ODK and the Film Tagging Columns

Last verified: 2026-07-26

Every film platform stores a play as a row of columns. The columns are close enough between platforms to feel interchangeable and different enough to break an export. This entry is the reference for what each column means, what the major platforms call it, and which ones matter enough to fill in first.

What it is

A tagged play is a row. The columns fall into four groups:

Situation. Where and when the play happened. ODK, QTR, DN, DIST, HASH, YARD LN, PLAY #.

Offensive structure. What the offense lined up in. OFF FORM, OFF STR, BACKFIELD, MOTION, PERSONNEL.

Defensive structure. What the defense lined up in. DEF FRONT, DEF STR, COVERAGE, BLITZ.

Result. What happened. PLAY TYPE, PLAY DIR, GN/LS, RESULT, EFF.

ODK is a value, not a section

ODK (Offense, Defense, Kicking) is the most misunderstood column, because coaches talk about it as though it groups the other columns. It does not. It is a per-play value in a single column, and the rest of the columns exist on every row regardless of what it says.

The practical consequence catches people constantly:

OFF FORM, OFF STR, and PERSONNEL describe whoever has the ball on that play, not "your team." On a defensive clip, OFF FORM is your opponent's formation.

If you filter a report by ODK expecting it to change which team the formation columns refer to, you will get answers that look right and are not. Filter by possession, and read the offensive columns as belonging to the offense on that snap.

Defense is not symmetrical with offense

There is no single DEF FORM column on Hudl. Defense is decomposed into four columns instead: DEF FRONT, DEF STR, COVERAGE, and BLITZ. Offense gets three: OFF FORM, OFF STR, BACKFIELD.

This asymmetry is not an oversight. A defensive call genuinely is several independent decisions (front, strength, coverage, pressure) where an offensive formation is closer to one. But it means an offense-shaped export will not round-trip into defense-shaped columns, and that is where most cross-platform imports lose data.

Cross-platform column names

The same concept under three names. This is the table to keep open when you are exporting, importing, or trying to read a spreadsheet somebody else tagged.

Concept Hudl QwikCut Canonical
Offense / defense / kicking ODK ODK (numeric 1 to 5) odk
Down DN Down down
Distance DIST Distance distance
Hash HASH Hash (L, L-M, M, R-M, R) hash
Quarter QTR Quarter quarter
Offensive formation OFF FORM Off. Formation formation
Offensive strength OFF STR (in formation mapping) strength
Backfield BACKFIELD Backfield backfield
Defensive front DEF FRONT Def. Front defensive_formation
Defensive strength DEF STR (L, R) Def. Str defensive_strength
Coverage COVERAGE Coverage coverage
Pressure BLITZ Blitz blitz
Play direction PLAY DIR Play Dir (Left, Middle, Right) play_direction
Play type PLAY TYPE Play Type (Run, Pass, Screen, Punt, …) play_type
Yards gained GN/LS GN/LS (-99 to 99) gain_loss
Field position YARD LN Start Yardline (-50 to 50) yard_line

Two traps in that table:

  • QwikCut stores ODK as a number, Hudl as text. A naive import turns 1 into an offensive play on one platform and nothing on the other.
  • Hash vocabularies differ. QwikCut ships five values (L, L-M, M, R-M, R); most Hudl setups use three. A five-value column collapsing into three loses the distinction silently, with no error.

How coaches actually use it

You do not need all of these. Most teams that tag everything stop tagging by week three.

Tag these first, in this order. Each one earns its keep by unlocking a report you will actually look at.

  1. ODK. Without it nothing else can be filtered. One value per clip.
  2. DN and DIST. Unlocks every situational report. Third and long is a different offense than first and ten, and this is the pair that lets you see it.
  3. OFF FORM. Unlocks self-scout. This is the column that answers "does any formation of mine produce exactly one play."
  4. PLAY DIR. With formation, it answers whether your tendencies are directional.
  5. HASH. Cheap to tag, and hash plus direction exposes tendencies most coaches do not know they have.
  6. GN/LS. Turns all of the above from descriptive into evaluative.

Everything after that is refinement. COVERAGE and BLITZ are high value and high effort, and they are worth adding once the first six are habit.

Name formations before the season, not during. Every platform lets you invent a formation name at tag time, which means by midseason you have Trips Rt, Trips Right, and TRIPS R as three separate rows in every report. Fix the vocabulary once, up front, and make everyone tagging use it. This single decision does more for report quality than any other tagging choice.

Tag the opponent's formation on defensive clips. It is the same effort and it is what turns your defensive film into a scouting report on the teams you will see again.

Before you export

  • Export a single game first and read it in a spreadsheet before you move a season.
  • Check ODK type (number versus text) and the hash vocabulary.
  • Check that defensive columns landed somewhere rather than silently dropping, since the offense-shaped export is the common case.
  • Keep the original export file. A re-import is much easier than a re-tag.

Where this connects

Tagging is downstream of filming and upstream of every report. If the film is hard to read, tagging gets slow and inconsistent, so this pairs with filming at night, camera height and angle, and the gameday filming checklist. On the output side it feeds self-scout, which is the practical version of the argument in Don't build your own playbook: you cannot count how many plays came out of a formation until the formation column is trustworthy.