Chris Collins

Tools · woodworking

Garage shelving and tote rack designer

Design 2x4 garage shelving — bays of tote rails (totes hang by the lip and slide out like drawers) and fixed plywood or OSB shelves, mixed per level, free-standing or screwed to the studs — with front, side and isometric drawings, a cut list, a shopping list packed by the cut list optimizer, span checks and illustrated build steps.

Added

Works with

How to use it

The unit is a row of ladders — two 2x4 uprights each, joined by front-to-back rails — tied together by 2x4 stretchers. A tote hangs between two rails by its lip, so every tote slides out on its own without lifting the ones above it; a shelf is a plywood or OSB panel on the same kind of rails (or on a 2x4 frame for wide bays). Everything is drawn to scale as you change it.

How to use it

  1. Bays and levels — each column is a bay, drawn top level at the top. Tap a level to switch it between Tote and Shelf, + and − add or remove the top level, + Bay copies the last bay. The layout is also plain text: T for a tote level and S for a shelf, bottom first, bays separated by . — TTTTS.SSSS is a bay of four totes under a shelf beside a bay of four shelves.

  2. Totes — pick a preset or Custom and type over the numbers. Measure your own totes: the same name has had different moulds over the years and the stores' listings disagree. You need the length and width at the rim (lip), the width of the body just under the lip, the height with the lid on, and the height from the underside of the lip down to the bottom.

  3. Size — overall height (0 fits the levels), depth (0 = tote length + 1"), and for bays without totes their width — or give an overall width and the shelf bays share what the tote bays leave. Lowest shelf height keeps a bottom shelf off a wet floor.

  4. Construction — rail stock (2x4 on edge, a 2x4 ripped into two 2x2s, or 1x4 on edge for totes with a narrow lip), shelves as a panel resting on the side rails or on a 2x4 frame (front and back stretchers plus joists no farther apart than the panel’s span rating), the panel, and whether the unit is screwed to the wall studs (2x4 back stretchers) or free-standing (1/2" plywood brace strips across the back).

  5. Drawings — drag the view to turn it, or pick Isometric, Front, Side or Top; Front and Side show the dimensions (overall size, clear width of each bay, and the height of every rail and shelf from the floor). ⛶ Full screen (or F) gives the view the whole screen; ◫ Panels hides the settings; Escape leaves.

  6. Cut list — every part with its quantity, stock, cut length and actual size. Open in the cut list optimizer opens the boards or the sheets, already filled in, in the cut list optimizer; Download CSV saves it.

  7. Shopping — how many 2x4s (packed onto the lengths you tick, 1/8" kerf) and sheets to buy, the screws (with 10% spare) and structural screws for the studs, and the cost at your prices (kept in this browser).

  8. Steps — the build in order, each with a small drawing of the parts it adds (in orange): cut, mark a story stick, build the ladders, stand and join them, frame and fit the shelves, square and brace, anchor to the studs, load the totes. Board & sheet layout shows how the parts come out of each board and sheet.

  9. Print view opens the drawings, checks, cut list, shopping list, steps and layouts on one page. Save design and Load… keep a design as a JSON file.

How the numbers are worked out

  • Bay width — the clear width between uprights is the rim width + side clearance (3/4" total by default). The rails take their thickness off each side, so the gap between the rails is that minus twice the rail thickness: it must be wider than the body just under the lip (the tote drops through) and narrower than the rim (the lip rests on the rails). The checks show both margins.

  • Rail spacing — tote levels repeat every tote height (lid on) + the vertical clearance (1"). The rail top sits at tote bottom + the under-lip height. Shelves share whatever height is left in a bay; a shelf at the top of a bay sits flush with the top of the uprights.

  • Depth — the tote’s rim length + 1" (rails run the full depth).

  • Lumber — actual sizes come from the lumber tool’s nominal-to-actual table (a 2x4 is 1-1/2" × 3-1/2"); “3/4” sheathing is 23/32" thick (APA performance-rated panels are labelled by actual thickness). Members longer than the longest 2x4 you buy are split so the joints land on an upright.

Spans — a rule of thumb, not engineering

Each shelf panel, frame stretcher and tote rail is treated as a simply supported beam under a uniform load (the shelf sag calculator's formula, δ = 5wL⁴ / 384EI). Panels use the Sagulator’s stiffness figures for softwood plywood and OSB; 2x4s use E = 1,400,000 psi, the AWC NDS Supplement (Table 4A) value for spruce-pine-fir No. 1/No. 2. A span passes (✓) if it sags less than span/600 (the 0.02"-per-foot point where sag becomes visible), is marked △ up to span/360 (the deflection limit the International Building Code, Table 1604.3, applies to floor members) and ✗ beyond. In the 2x4 frame the joists are spaced no farther apart than the panel’s APA span rating for floors (24" for 23/32" panels, 20" for 19/32", 16" for 15/32" and 7/16"). The default shelf load is 50 lb/ft² and a tote 40 lb — change them for what you store. Wood creeps under long-term load; overbuild for heavy things, and screw any tall unit to the wall.

Tote presets and where the numbers come from

Tote Source

Greenmade 27 gal (Costco, black and yellow)

Costco listing (item 718262): 30.5" L × 20.125" W × 14.25" H. Other years' listings give 30.4 × 20.4 × 14.7. Width under the lip (17-1/2") and lip drop (12-1/4") are estimates.

HDX / Husky 27 gal Tough Tote

Home Depot listing: 28.6" × 19.6" × 15.2". 17-1/4" under the lip from Family Handyman’s tote-rack article (its 27-gallon totes: 15-1/4" tall × 17-1/4" under the lip × 28-1/2" long). Lip drop is an estimate.

Sterilite 18 gal Latching Tuff1 (model 1525)

Sterilite product page: 23" × 17-1/4" × 16-5/8". Under-lip width (14-1/2") and drop (14-1/4") are estimates.

Limits

  • The ladders are 2x4s, the rails sit on the inside faces, and stretchers and brace strips are straight members; diagonal braces, casters, plywood gables and adjustable rails are not modelled.

  • Screw counts are estimates (two per joint, panels every 8"); stud count assumes 16" centres.

  • The span check is guidance for a garage shelf, not a structural calculation. It does not check screw shear, the floor, or the wall.

  • Packing is the cut list optimizer’s heuristic: good, not provably minimal.

Linking to an example

Share link copies a URL with the whole design in readable parameters. Lengths are in the design’s units (units=in or mm; inches accept 20-1/8). Settings not in the link take their defaults.

Parameter Meaning Example

example

A preset: tote-wall, shelves-totes, mixed, shelves, small-free, hdx

example=tote-wall

layout

Bays split by ., levels bottom first: T tote, S shelf

layout=TTTTS.SSSS

units

in or mm

units=mm

tote

greenmade27, hdx27, sterilite18, custom

tote=hdx27

tl, tw, twb, th, tdrop

Tote rim length and width, width under the lip, height with lid, underside of lip to bottom (blank = preset)

twb=17-1/4

h, w, d

Overall height (0 = fit), overall width (0 = from bays), depth (0 = from tote)

h=72

sw, base

Shelf-only bay width; lowest shelf height

sw=48

clr, vclr

Side clearance (total) and clearance above the lid

clr=3/4

rail

2x4, 2x2, 1x4

rail=2x2

shelf, panel

cleat or frame; ply34, ply58, ply12, osb2332, osb716

shelf=frame&panel=osb2332

mount

wall or free

mount=free

load, toteLoad

Shelf load (lb/ft² or kg/m²) and weight per tote (lb or kg)

load=75

Runs entirely in your browser; nothing you type leaves this page.