Skip to content
Creative3DP Tools

Gridfinity Generator

Bins, baseplates and 186 ready-made parts, generated in your browser and compensated for what your printer actually produces, so they drop in instead of binding.

Printer-fit compensation 186 parts Multicolour 3MF Real filament figures Nothing uploaded
Drag to rotate. Scroll to zoom.

This print

Size
-
Material
-
Filament
-
Cost
-
Print time
-
Triangles
-
Watertight
-

Download

3MF records real millimetres and per-object colour, so slicers open it at the right size with the parts already separated.

An open storage bin that drops into a baseplate.

Size

Gridfinity heights are multiples of 7 mm. 3u and 6u are the common ones.

Compartments

One open compartment.

Walls

Use a multiple of your line width so the slicer fills it with whole perimeters.

Lets another bin sit on top of this one.

Magnets & screws

Four per grid cell, 8 mm in from each edge. Both together gives a counterbore: magnet first, screw behind it.

Printer fit

The standard leaves only 0.25 mm of clearance per side. If your printer runs over-size, bins bind in baseplates. This is the usual reason Gridfinity "doesn't fit".

Printing exactly to size. Leave at 0 if you have not measured.

Print a 20 mm cube, measure it, and enter measured − 20. Our hole tolerance calculator walks through the same measurement.

Filament & cost

Gridfinity parts are mostly wall, so infill changes less than you would expect.

The reason Gridfinity bins bind

There is exactly one clearance value in the whole standard. A grid cell is 42 mm, a base is 41.5 mm, so neighbouring bases sit 0.5 mm apart, 0.25 mm per side. That is all the room there is.

A printer running 0.15 mm over-size, which is unremarkable, leaves you 0.1 mm. Add a little elephant's foot on the baseplate and the bin stops going in. This is why "my bins don't fit" is the most common Gridfinity complaint, and it is not a design problem or a slicer problem. It is a dimensional accuracy problem, and it is measurable.

Print a 20 mm calibration cube. Measure it with calipers. If it reads 20.15 mm, enter +0.15 in the printer-fit control and the geometry is adjusted so the printed part lands on the nominal size. Our hole tolerance calculator uses the same measurement for holes and shafts.

The full library: 186 parts, 1,168 settings

The second tab is a full Gridfinity customizer. It runs the two biggest open-source Gridfinity OpenSCAD libraries in your browser, unmodified, so the part list is a starting point rather than a limit: an AA battery holder is one click away from a 3×3 holder with a label shelf and magnet holes.

GroupPartsExamples
Bins and cups37Divided bins, scoops, label shelves, patterned walls, filler blocks, spiral-vase bins
Baseplates10Thin, weighted, skeletonized, magnet and screw-together plates, drawer-fit plates
Battery holders69AAA, AA, C, D, 9V, 18650, 21700 and 4680 cells, CR2032 and other coin cells
Bit and tool holders13Hex bits from 4 mm to 3/8 in, router bits from 1/8 in to 1/2 in
Memory cards and USB14SD, microSD, CompactFlash, XQD, USB-A and USB-C sticks
Drawers, lids and boxes12Drawer chests, stacking and flat lids, sliding-lid boxes
Trays, cutlery and sieves7Compartment trays, cutlery trays, sieve bins
Workshop9Metric and imperial socket racks, bin dividers, glue-stick holders
Games15A full chess set and marble-run pieces on the grid

OpenSCAD is compiled to WebAssembly and started in a background worker on your own machine, both libraries are loaded into it unmodified, and your settings are passed in exactly as desktop OpenSCAD's own customizer would pass them. The mesh engine is Manifold, which is why a typical bin renders in about a second. The settings panel is generated from the customizer comments in each library file, so every description is the one the library authors wrote.

Which tab to use: the first one for plain bins and baseplates, because it is instant, it corrects for your printer and it can export a bin and its matching plate as one two-colour 3MF. The second for everything else.

Gridfinity dimensions, exactly

These are the numbers the generator uses, straight from the published standard.

FeatureValue
Grid pitch42 × 42 mm
Base footprint41.5 × 41.5 mm
Gap between bases0.5 mm total, 0.25 mm per side
Height unit7 mm
Base profile0.8 mm at 45°, 1.8 mm vertical, 2.15 mm at 45°
Base profile height4.75 mm
Full base height7 mm (4.75 mm profile + 2.25 mm bridge)
Stacking lip0.7 mm at 45°, 1.8 mm vertical, 1.9 mm at 45°: 4.4 mm, added on top
Baseplate socket0.7 mm at 45°, 1.8 mm vertical, 2.15 mm at 45°, over a 0.35 mm gap
Top corner radius3.75 mm
Bottom corner radius0.8 mm
Bin outer size42 × units − 0.5 mm
Magnet hole6.5 mm diameter × 2.4 mm deep
Screw holeM3

A 2×2×6u bin is therefore 83.5 × 83.5 × 42 mm, or 46.4 mm tall with a stacking lip, and the 3×2 baseplate it sits beside is exactly 126 × 84 mm. Baseplates are always a clean multiple of 42 because they tile; bins are 0.5 mm smaller so they drop in. The Gridfinity calculator has the full size and height tables.

Why the filament figure here is different

Most generators approximate an imported mesh and quote something like ±15%. This tool built the geometry, so it knows both the true solid volume and the true surface area. The figure is then the part that actually gets extruded: a shell roughly one wall thick over the real surface, plus whatever is enclosed inside it at your infill density.

That distinction matters more on Gridfinity than on most models. The base is thick and solid in the geometry but prints at your infill percentage, so treating the part as solid overstates the filament by roughly a factor of two. The readout shows both numbers: what you will extrude, and the solid volume it came from.

Every generate also runs a watertight check: every edge must be shared by exactly two triangles, with consistent winding and positive volume. If that check ever fails, the panel says so rather than handing you a file that a slicer will silently try to repair. Before each release the same check runs over 274 configurations, covering every ready-made part, every generator's defaults and every library preset. You can confirm any file yourself in our STL viewer, and price a whole drawer with the cost calculator.

Printing it

SettingBaseplateBin
Layer height0.2 to 0.28 mm0.2 mm
Walls32 to 3
Infill15%0 to 10% (walls do the work)
SupportsNoneNone
OrientationFlat, sockets upFlat, open side up

Neither part needs supports. The 45° base profile is self-supporting by design, which is one of the quietly clever things about the standard. Drawer chests, sliding lids and some holders in the full library have overhangs of their own, so check the preview from the side before you slice.

Credits and licences

Gridfinity is an open storage system created by Zack Freedman. The full library tab stands on three open-source projects, and each one keeps its own licence:

Fonts for engraved text are B612 and Open Sans, both under the SIL Open Font Licence. The exact files we serve, their licence texts and where to get the source are listed in the notice file.

Frequently asked questions

What is Gridfinity?

A modular storage standard created by Zack Freedman. Everything is built on a 42 mm grid: baseplates tile a drawer, and bins drop into them in any multiple of 42 mm. Heights come in 7 mm units. Because the grid is fixed, parts from any source fit together, which is the whole point.

What are the exact Gridfinity dimensions?

The grid pitch is 42 mm and each base is 41.5 mm square, leaving a 0.5 mm gap between neighbouring bases. The base profile is three sections, 0.8 mm at 45°, 1.8 mm vertical, then 2.15 mm at 45°, totalling 4.75 mm, and the full base including the bridge is 7 mm. Height units are 7 mm, and a stacking lip adds 4.4 mm on top. Baseplate sockets use 0.7 mm, 1.8 mm and 2.15 mm sections over a 0.35 mm gap. Corner radius at the top of the base is 3.75 mm. Magnet holes are 6.5 mm diameter and 2.4 mm deep; screw holes take M3.

Why do my Gridfinity bins not fit the baseplate?

Almost always printer tolerance. The standard allows just 0.25 mm of clearance per side, and typical over-extrusion eats most of that, so bins bind. Print a 20 mm calibration cube, measure it, and enter the difference in the printer-fit control. The geometry is then compensated so parts drop in properly. This is the main thing this tool does that other generators do not.

What is the difference between the three tabs?

Bins and baseplates builds the everyday parts instantly, with printer-fit compensation and a two-colour 3MF of a bin and its matching plate. Full library runs the real open-source Gridfinity OpenSCAD libraries in your browser: 186 ready-made parts and 1,168 settings for drawers, lids, trays, scoops, label shelves and holders shaped for specific batteries, bits and cards. Fit my drawer turns a drawer measurement into a grid, splits it into plates for your print bed and tells you the tallest bin that fits.

Is anything uploaded?

No. Everything is generated on your device. The OpenSCAD engine and both libraries download to your browser once and render locally in a background worker. There is no server, no account and no queue, and your settings only leave the page if you copy the share link yourself.

Why does the full library take a few seconds the first time?

It is OpenSCAD itself, compiled to WebAssembly: about 8 MB before compression. It only downloads when you open that tab, your browser caches it afterwards, and a typical part then renders in one to three seconds.

Are these the real library files or a copy of the geometry?

The real files. The full library tab runs the unmodified OpenSCAD source of gridfinity-rebuilt-openscad and gridfinity_extended_openscad, and the settings panel is read from the customizer comments in those files, so what you edit here is exactly what you would edit in desktop OpenSCAD. The quick tab is our own geometry, which is what makes printer-fit compensation and instant previews possible.

How accurate is the filament estimate?

It is computed rather than guessed. Because the model is generated here, both the true solid volume and the true surface area are known exactly, so the figure is built from a shell about one wall thick over the real surface plus the enclosed remainder at your infill density. That matters on Gridfinity specifically: the base is thick, so treating the part as solid overstates it by roughly a factor of two. Remaining uncertainty is your flow calibration and how your slicer packs walls.

What does the 3MF export give me that STL does not?

Three things: real millimetre units so the file can never be misread as inches, per-object colour, and separate objects in one file. Tick the pairing option and you get the bin and its matching baseplate as two coloured objects in a single 3MF, already positioned side by side.

My drawer is bigger than my printer bed. What do I do?

Print several smaller baseplates and tile them. Gridfinity is designed for this: a 5×4 plate and two 3×4 plates side by side behave identically to one large plate, because the 42 mm grid continues across the join. Fit my drawer works out that split for your bed size.

What does "Closed, shared edges" mean in the mesh check?

The model is closed with no holes, but two solid pieces meet along an edge. Slicers print this normally. Of the 274 configurations we render before each release, 266 come out fully watertight and 8 are this case.

Can I sell prints or files made with it?

Parts from the quick tab are yours. For the full library it depends on the library the part comes from: gridfinity-rebuilt-openscad is MIT licensed and gridfinity_extended_openscad is GPL-3.0. Each part shows its library and licence next to the generator name. Read the licence before selling anything made from it.