Technical Guides · 9 min read · Updated 2026-07-15
Warehouse floor flatness: what FM2, FF and FL actually mean
Answer summary
Warehouse floor flatness is a property of the concrete slab, not the coating on top of it. The UK/European reference is The Concrete Society's TR34, which sets free-movement flatness classes FM1, FM2 and FM3 (FM2 being a standard good-quality general warehouse floor, FM1 tighter and FM3 looser) plus separate defined-movement categories for very-narrow-aisle racking. The US market uses ASTM E1155 F-numbers, where FF is Floor Flatness and FL is Floor Levelness. A resin coating follows the slab profile and cannot create or cure out-of-tolerance flatness, so the flatness class must be specified and achieved in the slab first.
Flatness belongs to the slab, not the coating
Floor flatness is fixed the day the concrete is placed and finished. It describes how the surface of the slab deviates from a true plane, and it is a function of the pour, the screeding technique, the finishing and the curing of that slab. A thin-to-medium resin coating applied later is only a few hundred microns to a few millimetres thick; it follows the profile of whatever it is laid on and therefore neither creates flatness where the slab lacks it nor cures a slab that was laid out of tolerance.
This is the single most important point for anyone writing a flooring specification. If the finished floor must meet a flatness class, that requirement is a duty of the party laying and finishing the slab, and it must be surveyed against the slab before any coating is discussed. Treating flatness as something the coating contractor will 'sort out at the end' is the most common and most expensive misunderstanding in warehouse fit-out.
A self-smoothing or self-levelling resin screed can improve local smoothness over a modest area, but it is not a substitute for a correctly laid slab and it will not fix gross levelness or a slab that slopes. Correcting a genuinely out-of-tolerance slab is a slab remedy, such as diamond grinding of high spots or a cementitious levelling operation, not a coating decision.
Flatness versus levelness — two different things
Flatness and levelness are often used interchangeably in conversation, but they measure different defects. Flatness is short-span surface waviness: the humps and dips you would feel if you ran a straightedge across a small stretch of floor. Levelness is the overall change in elevation over longer distances, essentially whether the floor slopes or drifts up and down across the room.
A floor can be very flat but not level: think of a smooth surface with no local bumps that nonetheless falls gently from one end of the building to the other. It can also be level overall but not flat, with the average plane correct but the local surface rippled. High-bay racking cares intensely about both, but for different reasons, which is why the standards separate them.
Getting the vocabulary right matters commercially, because specifying the wrong property wastes money. Demanding tight levelness across a whole building when the operation only needs local flatness along wheel paths, or vice versa, either over-constrains the slab layer or leaves the operation exposed.
The standards: TR34, ASTM E1155 and EN 15620
There are two dominant flatness frameworks and one racking-side standard, and they are not the same thing. The UK, European and common Asian reference is TR34, published by The Concrete Society under the title Concrete Industrial Ground Floors. TR34 defines free-movement flatness classes FM1, FM2 and FM3 for floors where trucks travel in any direction, and it defines separate defined-movement categories for very-narrow-aisle racking where a truck runs a fixed path along the aisle. Within the free-movement classes, FM2 is a standard good-quality general warehouse floor, FM1 is tighter, and FM3 is looser.
The US market instead uses ASTM E1155, the F-number system. It reports two numbers: FF, Floor Flatness, which characterises short-distance surface waviness, and FL, Floor Levelness, which characterises elevation change over longer spans. A higher F-number means a flatter or more level floor.
EN 15620 is a different animal again: it covers racking installation tolerances — the permitted out-of-plumb and out-of-line of the racking structure itself. It sits on the racking side of the interface, not the slab side, and it is referenced alongside, not instead of, a floor flatness class.
| Designation | Standard | What it measures | Typical use |
|---|---|---|---|
| FM1 / FM2 / FM3 (free movement) | TR34 — The Concrete Society (UK), Concrete Industrial Ground Floors | Surface regularity of a floor where trucks travel in any direction; FM2 = standard good-quality, FM1 tighter, FM3 looser | General free-movement warehouse and storage floors |
| Defined-movement categories | TR34 — The Concrete Society (UK) | Flatness and levelness measured along the fixed wheel paths of a truck running a set aisle route | Very-narrow-aisle (VNA) high-bay racking |
| FF (Floor Flatness) | ASTM E1155 (US) — F-number system | Short-distance surface waviness of the floor | US-market general and specialist floors |
| FL (Floor Levelness) | ASTM E1155 (US) — F-number system | Elevation change over longer spans; whether the floor slopes or drifts | US-market floors where overall level matters |
| Racking installation tolerance | EN 15620 | Permitted out-of-plumb and out-of-line of the installed racking structure | Racking-side acceptance, referenced alongside a floor class |
Why flatness matters commercially
In a high-bay very-narrow-aisle warehouse the reason flatness is worth paying for is geometric leverage. A tall lifting mast amplifies a small deviation in the floor into a large sway at the top of the mast, so a millimetre-scale dip under a wheel becomes centimetres of movement fifteen metres up. That movement risks the load or the mast making contact with the racking, and it forces the truck to slow down to stay safe, which directly reduces throughput. This is why defined-movement flatness is specified and surveyed along the wheel paths rather than across the whole floor.
In general free-movement storage, where forklifts and reach trucks travel in any direction and lift heights are more modest, the demands are lower and an FM2-class free-movement floor is typically adequate. The decision is therefore driven by the handling equipment and the rack height, not by a wish to have the flattest possible floor for its own sake.
A separate question that is frequently confused with flatness is load capacity. Whether a slab can carry the point loads from loaded racking legs is a structural matter for a structural engineer, determined by the slab thickness, reinforcement, sub-base and design. Flatness and load capacity are different questions, and neither a flatness class nor a coating tells you anything about load rating.
What a coating can and cannot do about flatness
A resin coating earns its place by adding a hard, cleanable, chemically resistant wearing surface to a slab — not by changing the slab's geometry. Because it follows the profile beneath it, a roller-applied or thin coating leaves the underlying flatness essentially unchanged. A self-smoothing or self-levelling system can add modest local smoothness by flowing out minor surface texture over a limited area, but it cannot correct gross flatness, cannot correct a slope, and adds no structural load capacity.
Where local smoothness is the goal — for example, a slightly uneven but in-tolerance slab that needs a smoother finish for cleaning or wheeled traffic — a self-smoothing epoxy such as Sparcofloor SL 200 may be appropriate, and only for that local smoothing role. It is not a levelling operation and its suitability should be confirmed through technical review against the substrate, the traffic and the flatness that already exists in the slab.
If a survey shows the slab is out of tolerance, the honest answer is that the slab must be corrected first: grinding down high spots or applying a cementitious levelling compound as a slab remedy, following proper preparation. Getting the slab right first is covered in the concrete-surface-preparation-guide, and the moisture condition of that slab must be checked as set out in concrete-moisture-testing-before-coating before any resin goes down.
Common mistakes and a specification checklist
Most flatness disputes trace back to a handful of avoidable errors. Recognising them early keeps the responsibility with the right party and stops the coating contractor being blamed for a slab defect.
Use the checklist below when writing or reviewing a warehouse floor specification so that the flatness requirement is unambiguous and correctly owned before anyone prices a coating.
- Common mistake: expecting a coating to fix an out-of-tolerance slab — flatness is set in the slab, so correct the slab first.
- Common mistake: specifying FM2 for a VNA aisle that actually needs a defined-movement category along the wheel paths.
- Common mistake: mixing up flatness (short-span waviness) with levelness (overall slope).
- Common mistake: conflating flatness with load capacity — load rating is a structural-engineer matter, not a flatness class.
- Checklist — specify the movement type: free movement or defined-movement (VNA), stating mast height and handling equipment.
- Checklist — specify the flatness class and standard: TR34 FM class, ASTM E1155 FF/FL, and any EN 15620 racking tolerance.
- Checklist — specify the survey method and when it is carried out (on the slab, before coating).
- Checklist — assign responsibility explicitly: the slab layer owns flatness; the coating applier owns the coating.
-
Decide the handling type
Free vs defined movement; mast height
-
Specify the flatness class for that use
TR34 FM class or ASTM FF/FL
-
Survey the slab against it
Measure the slab, not the coating
-
Correct the slab if needed
Grind high spots or level — a slab remedy
-
Prep and coat
Coating follows the corrected slab
The flatness class is chosen from the handling type, achieved in the slab, then the slab is coated.
When to use this system
- Writing or reviewing a warehouse floor specification
- Choosing between free-movement and VNA racking layouts
- Deciding which flatness standard to cite for a project
- Diagnosing whether a floor problem is slab or coating
Where it is commonly used
- High-bay very-narrow-aisle distribution centres
- General free-movement storage and warehousing
- New-build slabs before a resin coating is chosen
- Racking installations governed by EN 15620
Related Sparco products
Recommended TDS downloads
Browse the TDS Download Centre →Related market segments
Manufacturing & Warehousing
Production floors and warehouses take forklift traffic, impact, spills and around-the-clock operations. Sparco's full flooring range — from bonding primers and repair mortars to self-smoothing epoxies and polyurethane topcoats — keeps industrial floors serviceable with minimal downtime.
Retail
Retail floors must look consistently good under continuous footfall, trolley traffic and daily cleaning. Sparco's epoxy and polyurethane systems balance durability with appearance, keeping front-of-house and back-of-house floors presentable and serviceable.
Related solutions & guides
Frequently asked questions
What flatness class does a general warehouse floor need?
For a general free-movement warehouse where forklifts travel in any direction, the TR34 FM2 free-movement class is typically adequate. FM2 is described in The Concrete Society's TR34 as a standard good-quality general warehouse floor, with FM1 being tighter and FM3 looser. Very-narrow-aisle racking is a different case and needs a defined-movement category instead.
What is the difference between FF and FL in floor flatness?
FF and FL are both F-numbers from the US standard ASTM E1155. FF is Floor Flatness, which measures short-distance surface waviness, while FL is Floor Levelness, which measures elevation change over longer spans, essentially whether the floor slopes. A higher number in either case means a flatter or more level floor.
Can an epoxy or resin coating make an uneven floor flat?
No. Flatness is a property of the concrete slab as placed and finished, and a resin coating follows the profile of the slab beneath it, so it neither creates nor cures flatness. A self-levelling system can add modest local smoothness over a small area, but correcting a genuinely uneven or out-of-tolerance slab requires a slab remedy such as grinding or levelling, not a coating.
How does FM2 relate to an ASTM FF number?
TR34 FM classes and ASTM E1155 F-numbers are two separate systems that measure and report flatness in different ways, so there is no standardised conversion between them. Practitioners sometimes cross-refer them, but any such equivalence is approximate industry guidance rather than a standardised conversion and should not be relied on as fact. Specify the standard and class that the project actually uses rather than converting between them.
Does floor flatness tell me how much load the slab can carry?
No. Flatness and load capacity are entirely different questions. Flatness describes the surface geometry of the slab, whereas the load the slab can carry under racking legs depends on its thickness, reinforcement, sub-base and structural design, and must be assessed by a structural engineer. Neither the flatness class nor the coating tells you anything about the load rating.
Who is responsible for achieving the specified floor flatness?
The party laying and finishing the concrete slab is responsible for achieving the specified flatness, because flatness is set when the slab is placed and finished. It should be surveyed against the slab before any coating is applied. The coating applier is responsible only for the coating, which follows the profile of the slab it is laid on.
Related guides
Related project references
Anonymised references from real Sparco projects show how these systems are applied on comparable sites.
Browse project references →Values referenced in this guide come from the products' Technical Data Sheets. Final specification depends on substrate, traffic, chemical exposure and shutdown window — confirm the complete build-up with our technical team.