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, andPERSONNELdescribe whoever has the ball on that play, not "your team." On a defensive clip,OFF FORMis 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
ODKas a number, Hudl as text. A naive import turns1into 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.
ODK. Without it nothing else can be filtered. One value per clip.DNandDIST. 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.OFF FORM. Unlocks self-scout. This is the column that answers "does any formation of mine produce exactly one play."PLAY DIR. With formation, it answers whether your tendencies are directional.HASH. Cheap to tag, and hash plus direction exposes tendencies most coaches do not know they have.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
ODKtype (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.