Auch DATA-Pakete beginnen mit dem Opcode-Feld, dem in diesem Fall der Wert „3“ zugeordnet wird. Die darauffolgende 16-Bit-Sequenz kennzeichnet die Nummer des Datenblocks, wobei der Wert „1“ als Startnummerdient. Dieser Wert erhöht sich mit jedem weiteren Datenblock, der zu der Datei gehört, automatisch um 1. Die Blöcke selbst finden sich derweil im Datenfeld wieder, das zwischen 0 und 512 Bytes (4096 Bit) groß ist, sofern TFTP-Server und -Client keine andere Maximalgröße für die Blöcke ausgehandelt haben. Wird die jeweilige Maximalgröße ausgefüllt, ist dies ein Signal dafür, dass das DATA-Paket nicht den letzten Datenblock der Datei enthält. Dieser letzte Block, der das Ende des Datentransfers kennzeichnet, ist immer um mindestens ein Byte kleiner. Sollte der zu übertragende Dateirest zufällig exakt die Größe des Blocks haben, muss der Sender noch ein Paket mit leerem Datenblock nachreichen.