Updates — July 19, 2026
- Vial size is now adjustable in the Customizer (vial_od, vial_h) — no longer fixed at 16mm OD, so this file now works with vials from other suppliers
- Added optional label windows so you can read vial labels without removing the lid
- lid_gap now auto-scales with print size for a better out-of-the-box fit; manual override still available
A fully parametric vial storage solution originally sized for 3ml crimp-top vials (16mm OD) — but vial diameter and height are now Customizer settings, so it adapts to whatever vials you actually have. New in this version: optional label windows cut into the outer wall so you can read vial labels without removing them from the tray.
Two ways to print:
- Ready-to-print profiles for the most common quantities — just load the plate you need and hit print
- Parametric OpenSCAD file for any custom configuration your storage needs require
Ready-to-Print Plates
Pre-configured plates are included for the most commonly needed quantities:
- 2, 3, 4, 5, 6, 7 vials
- 8, 9, 10 vials
- 15 & 20 vials
- 25 vials (5x5)
- 50 vials (5x10)
Need a Different Size? Use the Parametric File
The included OpenSCAD file lets you generate any configuration using the built-in Customizer. The layout is controlled by just two settings — vials_per_row and num_rows — so a 10x10 (100 vials) is just as easy to generate as a 3x1. Vial size is fully adjustable too, so if your vials don't match the 16mm default, just measure and enter your own dimensions.
Customizer Settings
Vial Size
- vial_od — vial body diameter, measured at the widest point of the straight wall. Default 16.0mm fits standard 3ml crimp-top vials. Measure yours with calipers first — sizes vary between suppliers
- vial_h — total vial height, from the base to the top of the cap. Default 38.4mm
- slot_depth_f — how deep the vial sinks into its pocket, as a share of its height. Default 0.729 is print-tested for the default vial size; only touch this if you've changed vial_h significantly and the vial sits too high or too low
Layout
- vials_per_row — number of vials per row (1–12)
- num_rows — number of rows (1–6)
- render_part — set to base, lid, or both
Vial Windows
- show_windows — turns label windows on or off. On by default
- window_width_frac — how wide each window is, as a share of the vial's diameter. Default 0.55
- window_lip_bottom / window_lip_top — how much solid wall stays in place above and below the window, for strength. Default 3mm each
Fit Tuning
- clearance — increases vial pocket diameter. Start at 0.5mm, adjust in 0.1mm steps if vials fit too tightly
- lid_gap_mode — auto or manual. Auto (default) widens the gap on small prints, which are stiffer and can squeak going on, and tightens it on larger ones, which flex more on their own. Set to manual to force an exact value
- lid_gap_manual — the gap used only when lid_gap_mode is set to manual
Snap Feel
- snap_p — snap tab protrusion. Recommended starting points:
- PLA: 0.8mm (default)
- PETG: 1.2mm
- snap_z — tab position, affects how easy the lid is to pop off
- snap_tip_ratio — ramp shape. Lower = gentler on/off feel
Recommended Materials
- PETG — recommended for freezer or long-term cold storage. Handles repeated freeze/thaw cycles without becoming brittle. Use snap_p of 1.2mm or higher.
- PLA — great for room temperature storage and test prints
Printing Tips
- No supports required
- 15% infill or higher works fine — these are solid prints that don't need to be dense
- Print base and lid separately or use both to get them laid out side by side automatically
- Always do a small test print (2x1) first to dial in clearance and lid_gap for your printer before committing to a large grid
Design Notes
Designed in Shapr3D and made parametric with AI assistance. The snap lid features a finger lift tab and chamfered entry for smooth on/off feel. Vial wells default to standard 3ml crimp-top vials with 16mm OD, but both diameter and height are adjustable in the Customizer for other vial sizes.