BoxFit runs your box-and-container dimensions through three different packing algorithms in parallel and shows you all three results side-by-side. Each tier trades off computation time against packing quality, so you can see how much efficiency you gain by applying smarter techniques.
A fourth, exhaustive Optimal search is available on-demand for small cases — it tries to find a provably best arrangement, but it's only tractable when the box count is low.
The three tiers
Single orientation, uniform grid
The Basic tier tries every allowed orientation of the box (up to six) and, for each, computes the simplest possible packing: floor(L/l) × floor(W/w) × floor(H/h). The orientation that yields the highest box count wins.
This is the baseline you'd get by hand, or from any calculator that doesn't try to be clever. It represents the minimum number of boxes you should expect to fit — a sanity check.
When it matters: as the floor. If a smarter tier reports fewer boxes than Basic, something's wrong with the calculation. We use Basic as a correctness guard.
Layer-by-layer 2D guillotine
The Intermediate tier builds the container one horizontal layer at a time. Each layer is filled independently using a recursive 2D guillotine: the layer rectangle is split by vertical and horizontal cuts, boxes are placed at the intersections, and the best combination of cuts wins. Within a layer, boxes may take either of the two in-plane rotations, but all boxes in a layer share the same 3D orientation (so the layer height is fixed).
This is notably better than a strip-based approach because it fills the awkward corners that simple "main block + strip" methods leave empty.
When it matters: shipments where you want consistent-looking layers for easy unloading, or where a layer pad (cardboard between layers) is used.
Full 3D guillotine with mixed orientations
The Efficient tier extends the guillotine approach into three dimensions and, crucially, allows different parts of the container to use different box orientations. The container is recursively split into sub-volumes; each sub-volume picks its own best-fit orientation; independent vertical columns can reach the full container height with different box rotations.
This is the tier where the algorithm really earns its keep. For most real container-loading problems, it finds 5–20% more boxes than Basic.
When it matters: most of the time. This is the number you should quote in a shipping bid.
The Optimal search
When the total box count is small (under 20), an extra "Find Optimal Solution" button appears. This runs a different class of algorithm entirely: extreme-point placement with branch-and-bound pruning. Instead of splitting the container into regions, it places boxes one at a time at every candidate corner and recursively explores every possible continuation, pruning branches that can't beat the best found so far.
For small cases this finds the provably optimal arrangement — no other packing of that box into that container fits more. For larger cases, the search space explodes combinatorially, which is why the button is gated on box count.
About the "search terminated early" banner
The Optimal search has a time budget (2.5 seconds). If it runs out, we show the best arrangement found so far, labeled "Best Packing Found" rather than "Optimal Packing Found". A marginally better arrangement may exist. In practice this only happens on edge cases near the 20-box gate — for most problems the search completes and the result is truly optimal.
What the numbers mean
Utilization is the fraction of container volume occupied by boxes:
(number of boxes × box volume) / container volume × 100
A utilization of 92% means 92% of the container's internal volume is filled by boxes and 8% is unavoidable air gaps (where no box orientation fits). Getting above 90% is excellent for most geometries; above 95% usually requires the box and container to share common factors in their dimensions. 100% is only possible when the box dimensions divide the container exactly in all three axes.
Note: utilization is calculated against the full container, including any air above the stack if the boxes don't reach the top. It's a volumetric efficiency measure, not a floor-space measure.
In pallet mode, BoxFit reports two heights:
- Load height — the height of just the stacked boxes, measured from the top of the pallet deck.
- Total height — load height plus the pallet's base (tare) height. This is what you measure against warehouse door clearances, truck height limits, and stacking rules.
The "Max Load Height" input is the ceiling for total height, not load height — we subtract the tare internally.
Boxes can sit in six possible orientations. We group them into three pairs based on which original dimension becomes the vertical height:
- Flat — the box's original height axis points up. "Flat Rotated" means the footprint is rotated 90° on the floor plane.
- Side — the box is tipped onto its side; its original width axis now points up.
- Upright — the box is stood on end; its original length axis now points up.
If your box has a "this side up" constraint, use the Allowed Orientations dropdown (Flat only / Side only / Upright only) to restrict the search.
What BoxFit doesn't (yet) model
Honesty matters more than marketing. BoxFit does not currently handle:
- Weight limits or center of gravity. The solver optimizes for count, not mass distribution. Real pallets have weight caps and CoG tolerances — you'll need to check those separately.
- Stacking rules per box type. "Fragile, no stacking on top", "this side up", and per-box maximum stack counts aren't modeled. The Allowed Orientations dropdown is a coarse approximation of this-side-up.
- Mixed box types. The algorithms assume one uniform box. Real shipments mix SKUs; that's a different class of problem (heterogeneous bin packing) and a future addition.
- Load-bearing surface constraints. A box resting on another box's corner isn't flagged, even though it's unstable in reality. We check volumetric fit, not structural support — though all boxes in a valid result rest on either the floor or another box's top face.
Every result from BoxFit should be sanity-checked against real-world constraints before committing to a shipment. The tool reduces the search space and gives you a defensible baseline — it doesn't replace a shipping manager's judgment.
Which number should I quote?
For quotes and capacity planning:
The Efficient Tier number. It's a realistic upper bound that a skilled packer can reach without special equipment.
For conservative commitments:
The Basic Tier number. It's achievable by anyone with zero planning effort, so you're guaranteed to hit it.
For uniform-layer operations (automated unloading, layer pads):
The Intermediate Tier number. Each layer is self-contained, which matters when robotics or conveyor systems unpack one layer at a time.
For tight verification on small loads:
Click Find Optimal Solution and check for the "Best Packing Found" caveat. If it's absent, the arrangement is provably optimal.