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 most entities (except ender dragon) are always shaped in cuboids, which does not always overlap with the visual parameters of the entity. For example, the witch's hitbox does not include the top section of its hat, and the wither's hitbox does not include the two heads on its sides.

Boundary box
The boundary box of entities can be viewed via the +  debug shortcut.

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.