Hitbox

A hitbox defines the physical "boundaries" (or an approximation thereof) of a block or entity. Hitboxes are utilised in the calculations of collisions and targeting.

Unlike with block models, all hitboxes are hardcoded and cannot be changed without modification, even via data packs.

Collision box
Collision box is used to manage collision with entities.

Collision box is not present for all blocks, as many blocks such as grass, signs and torch have no collision box.

Outline box
Outline box is shown when looking at a given block. It become visible as a wireframe outline when the crosshairs are pointed at the block.

Interaction box
Interaction box deals with aiming at blocks. When the interaction box of a block is targeted, the block can be broken, placed on or interacted with as necessary.

Its default is the same as the outline box. There are some exceptions:

Block support shape
Block support shape is mainly used to judge whether another attaching block (e.g. torches, doors, buttons, etc.) can be attached to it.

Its default is the same as the collision box. There are some exceptions:
 * Leaves have an empty block support shape.
 * The Block support shape of the snow layer is the same as its selection box.
 * Soul sand has a full block support shape.

Entity
The hitboxes of entities are always strictly square-based cuboids, regardless of the actual shape of the entity.

Boundary box
Entity boundary box can be viewed via the F3+B debug shortcut. (Java only)

Interaction box
Interaction box deals with aiming at entities. When the interaction box of an entity is targeted, the entity can be hit or interacted with as necessary.

Trivia

 * Fluids do not have hitboxes, even in cases where they would behave like a block.
 * The ender dragon is composed of nine distinct hitboxes.