Fill the plate before you open the slicer
A full plate is the cheapest way to make a printer productive, but working out whether twelve of a part actually fit — with clearance, with the bed's keep-out edge, with one part rotated — is fiddly to do by eye. This tool does it in the browser: pick your models, say how many of each you want, choose a printer, and it packs them.
How the packing works
Each model is reduced to the convex hull of its footprint, inflated by half the clearance you asked for, and placed biggest-first by a search spiralling outward from the centre of the bed — so the largest parts land where beds are flattest and adhesion is best.
A hull is a conservative proxy, and that cuts both ways. Two parts whose hulls do not overlap definitely do not overlap as models, so the layout is always safe. But two concave parts that could nest inside one another will not be nested, so a hand-tuned plate can beat this one. That is why the plate view is draggable.
The plate view
The top-down view draws the bed, the keep-out margin, and every placed copy with its clearance ring. Drag a part and it snaps to your chosen grid; anything that collides or crosses the bed edge turns red immediately. Select a part and rotate it in 90° or 15° steps. The collision test is the same integer geometry the packer used, so what you see is what you get.
Getting the layout out
Two exports. The transform list is JSON: for each copy, the rotation about Z and the translation in millimetres, in the printer's own coordinate frame. The merged plate is a single model containing every copy already in position — drop it straight into your slicer. STL, GLB, OBJ, PLY and OFF can be written; 3MF can be read but not written here, so pick another format for the export.
STL and OBJ carry no units, so tell the tool what one unit means. Everything happens in your browser; your models never leave the machine.
Tiny Online Tools







