Skip to main content
Bel Covo

Commercial flatwork guide: flatness and joints

Last updated:

A residential slab gets poured to a thickness. Commercial flatwork gets poured to a number, and that number is on the drawing before anybody books a pump truck. Three of those numbers decide whether a 20,000 square foot floor performs: how flat it is, FF 35 for sealed storage or FF 50 for anything headed to polish, how the joints are engineered, and whether load actually transfers across them.

Everything else about a slab matters, but those three are what separate engineered flatwork from concrete poured to a depth. Get any of them wrong and the mistake doesn’t stay with the concrete contractor. It becomes the finish contractor’s problem, then the owner’s problem, then a repair that shuts down a lane.

The fundamentals underneath all of this, base prep, vapor barriers, mix design, curing, live in the concrete flatwork guide. This page is about the engineered part.

What are FF and FL numbers, and who reads them?

FF and FL are the tolerance numbers for a concrete floor, defined by ACI 117 and read with a profiler at 72 hours after the pour. FF, floor flatness, measures short-distance waviness: the ripples you feel rolling a cart. FL, floor levelness, measures overall tilt across the slab.

They move independently, which is the part people miss. A slab can be beautifully flat and still slope an inch across a bay. It can also be dead level and rippled the whole way. Two numbers, two problems, two separate spec lines.

Here’s what to specify by how the floor gets used. These targets sit inside the slab construction guidance in ACI 302.1R.

Floor useThicknessMix design (PSI)Flatness targetReinforcement
Sealed warehouse, general storage6 in4,000FF 35 / FL 25#4 rebar, 18 in grid
Retail, restaurant slab5-6 in4,000FF 35 / FL 25#4 rebar, 16 in grid
Polish or coating ready6 in4,000-4,500FF 50+ / FL 30+#4 rebar, 16 in grid
Heavy industrial, racking8 in4,500FF 50 / FL 30#5 rebar, 12 in grid + dowels
Defined-traffic / VNA aisle7-8 in4,500FF 100+ / FL 50+#5 rebar + plate dowels

On a polished concrete floor, hitting FF 50 instead of FF 35 is the difference between two grinding passes and five. In a very-narrow-aisle warehouse, hitting FF 100 is what keeps an automated lift from tipping at speed. Same measurement, two completely different consequences.

The flatness number you pour to decides what every downstream trade pays. A polished floor starts as a ground slab, and grinding follows the surface profile it inherits: a slab poured to FF 35 has ripples a grinder must chase across the whole bay, while a slab poured to FF 50 or higher arrives close to flat and needs only light refinement. The same logic runs through coatings, where a wavy floor reads under sidelight and shows every low spot once it gains a sheen. Defined-traffic warehouse aisles take this furthest: an automated very-narrow-aisle lift running 40 feet up needs FF 100 or better or it sways at speed. So flatness is not a finishing detail decided at the trowel. It is a structural spec set before the pour, measured with a profiler, and priced into the slab.

Which joint does what?

Three joint types show up on a commercial floor, and they are not interchangeable.

Control joints are saw-cut or tooled weak lines that force shrinkage cracking into a planned path instead of a random one. On a 6-inch slab they typically run on a column-line grid roughly 12 to 15 feet on center, cut one-quarter of the slab depth within about 12 hours of finishing per ACI 302.1R.

Construction joints are real edges where one day’s pour meets the next. They get formed, and they usually get doweled so the two panels stay aligned under load.

Isolation joints are full-depth, full-width gaps backed with compressible filler. They let the slab float free of columns, foundation walls, equipment bases, and dock walls, all of which move on a different schedule than the floor does.

Layout is where commercial diverges hardest from residential. On a house slab, joints are mostly about crack control. On a 40,000 square foot floor, they’re a grid that has to stay square, because panel length-to-width beyond about 1.5 to 1 will crack across the middle no matter how tight your spacing is. Joints also decide where forklifts get a rough ride and where a polished surface reads clean. That’s why the joint layout drawing belongs in the pre-pour submittal, next to the reinforcement drawing, not sketched on the slab the morning of the cut.

How do dowels keep a forklift floor alive?

Dowels are smooth steel bars set across construction joints and some contraction joints. They let two panels share vertical load while still sliding horizontally as the slab shrinks. Round dowels ride in baskets that hold alignment through the pour. Plate dowels carry higher loads and accommodate movement in two directions, which is why they show up under defined-traffic aisles.

Load transfer is the cheapest insurance on an industrial floor and the most common thing value-engineered out of a bid. A doweled construction joint costs a little steel and a basket per linear foot. A doweless joint under a forklift lane costs the panel edges: repeated wheel impact at the unsupported seam curls the corners, cracks the edge, and spalls the surface until the joint needs a full saw-and-patch repair that shuts the lane down. The math is not close. Racking compounds the problem, because a loaded pallet rack drives tons of point load through a baseplate the size of a dinner plate. Without a thickened pad or a doweled section sized to that reaction, the slab punches or settles under the post. Engineer the load path before the pour, and the floor carries the warehouse for decades without a seam repair.

Where racking lands, the slab gets thicker

The fix for concentrated rack load is a local thickening: the slab drops to 8, 10, or 12 inches in a band under the rack lines, poured monolithically with the floor so there’s no cold joint sitting at the most loaded spot on the building. Sizing is an engineering exercise against soil bearing capacity under the slab-on-ground design provisions of ACI 360R, not a rule of thumb.

Which means we need the rack layout and the equipment schedule before the pour, not after the racking vendor shows up. Thickenings poured on a guess land between the posts instead of under them, and a thickened band in the wrong place is just extra concrete.

Pouring 15,000 square feet in one day

Big pours are a logistics problem before they’re a concrete problem.

The mix runs a minimum of 4,000 PSI with 3/4-inch aggregate and a water-to-cement ratio under 0.45 for anything headed for polish or coating. Water added at the truck to make placement easier is paid back later in surface softness, every time.

Pump trucks with boom reach to 150 feet keep a large pour moving so the placement stays continuous. Continuity matters more than speed, because a stalled truck is how a cold joint ends up in the middle of a bay.

Curing is water, 7 days, and no acrylic curing compounds. The residual film they leave is a bond barrier, and grinding it back off costs real money per square foot that nobody budgeted.

Concrete reaches design strength near 28 days. Coatings can usually start around 14 days, once a moisture test confirms the slab is dry enough to accept the system: ASTM F1869 calcium chloride, or ASTM F2170 in-situ relative humidity probes. That test is what turns a schedule assumption into a date you can hold.

What Pour-4-Polish looks like on a commercial floor

The bundled version is simple to describe and hard to retrofit. The slab is poured to FF 50 or higher with a controlled water-to-cement ratio, a vapor barrier under it, and a water cure on top. When the grinder arrives, it’s refining a flat surface instead of chasing one.

The payoff is fewer grinding passes, one engineering specification instead of two contractors interpreting each other, one scope of work, and one workmanship warranty for the whole job. Full scope, pricing, and finish options on a spec-grade slab are on the commercial flatwork service page, and the concrete cost page carries the ranges behind the specs discussed here.

Flatness, joints, and load transfer are decided on paper. After the pour, you’re not specifying. You’re repairing.

Need a commercial slab poured to spec?

Tell us the square footage, the intended finish, the rack and equipment layout, and the target FF/FL numbers, and we will send back a scope of work with the joint plan, reinforcement, and pricing. Get a free quote and we will spec the slab before anything gets poured. Crews dispatch from Prague, OK.

Projects we completed

Freshly stamped concrete overlay with dark wood plank pattern showing detailed grain textureSunlight illuminating stamped concrete wood plank overlay revealing grain texture and warm tonesConcrete overlay with realistic wood plank texture and grain detail, dark brown stainDark wood-look concrete overlay in residential kitchen with white and navy cabinetry during constructionStamped flagstone concrete overlay on residential patio in Owasso OklahomaTextured flagstone concrete overlay detail along pool edge in Owasso OklahomaTan concrete overlay walkway and patio alongside brick residential home in Prague OklahomaTextured concrete pool deck with scored joints surrounding infinity pool at Gaillardia residence in Oklahoma CityConcrete walkway with textured finish along side of Gaillardia home with turf landscapingExterior concrete patio with white epoxy coating and custom OU Sooners logo stencil design in crimsonQuarter-sawn wood-plank concrete overlay detail showing realistic grain texture and warm tonesPool deck with brick-pattern overlay coping border and textured concrete deck surface

What are FF and FL numbers on a commercial floor?

FF (Floor Flatness) measures how bumpy a slab is over short distances; FL (Floor Levelness) measures how much it tilts overall. Both are defined by ACI 117 and read with a profiler. A standard sealed warehouse floor runs FF 35. A floor headed for polish or coating wants FF 50 or higher, because grinding a flat slab is cheaper than grinding a wavy one. Defined-traffic and VNA warehouse aisles push into superflat territory above FF 100.

What is the difference between a control joint and a construction joint?

A control joint is a saw-cut or tooled weak line that steers shrinkage cracking into a straight, planned location. A construction joint is a real stop-and-start edge where one pour meets the next, usually carrying dowels so load transfers across it. An isolation joint is a full-depth gap that lets a slab move independently of columns, walls, and equipment pads. Each does a different job, and putting the wrong one in the wrong place is how slabs fail at the seams.

How do dowels help a forklift floor?

Dowels are smooth steel bars set across a joint so the two slab panels share vertical load without locking together horizontally. When a loaded forklift wheel rolls over a doweled joint, the bar carries part of the weight to the next panel, so neither edge drops. Without load transfer, the panel edges curl, deflect, and spall under repeated wheel impact. Dowel baskets or plate dowels keep the bars aligned during the pour so the transfer actually works.

Do racking posts need a thicker slab?

Often, yes. A pallet rack concentrates tons of load onto a small baseplate, and a uniform 6-inch slab may not carry that point load over expansive clay. The fix is a thickened section or an isolated pad under the rack lines, sized by the structural engineer to the post reaction and soil bearing. Pouring the thickened sections monolithically with the floor avoids cold joints. Get the rack layout before the pour so the thickenings land under the posts, not between them.

Get a free quote for your concrete project

Tell us about your floor and get a same-week estimate.