Learning how to draw stairs in Revit means unlearning the two-dimensional habit. In AutoCAD you draw the treads and work out the numbers afterwards. In Revit it is the other way round: set the levels and the riser count first, then draw the path of the flight.
The reason is that the riser count follows the floor-to-floor height, not the designer. This is where beginners trip up, and it is the root of the missing-riser problem.
Since the 2013 release Revit builds stairs **by component**: a stair is four separate things rather than one solid. The run carries the treads, the landing joins two runs, the support is the stringer, and the railing appears automatically but remains its own object. Changing one does not disturb the others.
This article works through Chapter 10 of the Institute's textbook Autodesk Revit 2027 for Architectural Documentation, ordered the way you actually work so you can follow along. Screenshots come from Revit 2027, English interface. To learn the documentation stage in full, see the Revit Architecture course.
Five steps to build a two-flight stair with a landing
Two parallel flights with a landing between them is the most common arrangement in Vietnamese housing. The next four sections set out how to draw stairs in Revit in the order you click.
The three commands sit together on the Architecture tab, Circulation panel: Railing, Ramp and Stair. Their order on the panel is not the working order — always build the stair first, because the railing comes with it.
Step 1 — duplicate the stair type and fix its limits
Do this before drawing, because the limits decide whether Revit will build the stair at all. Run the Stair command, click Edit Type, then Duplicate and give it a new name. The limits live in Type Properties, not in the instance Properties.
| No. | Part | What it does |
|---|---|---|
| 1 | Calculation Rules | Maximum Riser Height 178, Minimum Tread Depth 275, Minimum Run Width 1000. Exceed any of them and Revit warns immediately |
| 2 | Construction | Run Type and Landing Type define how the run and landing are built. Function separates interior from exterior stairs |
| 3 | Supports | Left, right and middle stringers, each with its own type and offset. Middle Support is off by default |
Those three numbers follow American practice and do not suit Vietnamese housing.
The build-up of the run is fixed at this step too. Vietnamese architectural sets almost always use a reinforced concrete waist slab, while the Metric default is steel stringers carrying separate treads. The run is defined in Run Type — slab thickness, nosing and materials. Stringers are defined under Supports: setting both to None removes them. Housing typically uses a 100 to 120 slab and a 20 to 30 nosing.
Steps 2 and 3 — set the six numbers before drawing
Click OK to close Type Properties, return to the command's Properties palette, and set the levels and then the riser count.
| No. | Part | What it does |
|---|---|---|
| 1 | Constraints | Base Level L1 and Top Level L2. Desired Stair Height reads 3600 and is greyed out, because Revit takes the difference rather than letting you type it |
| 2 | Dimensions | Desired Number of Risers 21 is the figure you enter. Actual Number of Risers and Actual Riser Height are greyed out because Revit derives them. Actual Tread Depth 275 can be set |
The six numbers fall into two groups, and confusing the groups causes most of the trouble.
The relationship is simple: the floor height divided by the riser count gives the riser height. Here 3600 over 21 is 171.4. The going is independent and sets the flight length: 21 risers means 20 treads, times 275 gives 5500.
To check the pair you have just entered, open Edit on the Calculation Rules row. Few people open this dialog, yet it holds the formula every architecture course teaches.
| No. | Part | What it does |
|---|---|---|
| 1 | Checkbox and note | Use Stair Calculator is off. The result applies only when creating new stairs, not when editing existing ones |
| 2 | The formula | Twice the riser height plus the going equals 635 — the familiar pace formula |
| 3 | Allowed range | Maximum 647.7, minimum 584.2, current 631. Outside that range Revit reports it |
Checking the stair in progress: two times 171.4 plus 275 is 617.8, inside the range. The figure 635 is 25 inches converted, close to the 600 to 640 that local textbooks quote.
Finally, set the run width in Actual Run Width and leave Location Line at Run: Center. Set the width before drawing: change it later and the flight keeps its centre line, so both edges move outwards and the stair may run into a wall.
| Panel | What it does |
|---|---|
| Mode | The red cross cancels, the green tick finishes |
| Components | Run, Landing, Support. Run is active, so each drawing action makes a flight |
| Draw | Six flight shapes: straight, full-step spiral, centre-ends spiral, L-shape, U-shape, and a sketch option for free forms |
| Create Stairs | Location Line, Offset, Actual Run Width, with Automatic Landing on by default |
| Multistory Stairs | Connect Levels repeats the stair up several levels at once |
| Tools | Convert, Edit Sketch, Flip and Railing. Railing presets the railing type that will be generated |
Steps 4 and 5 — draw both flights, then check the riser count
Click the start and end of the first flight, running along the wall. While you draw, Revit shows risers created and risers remaining right under the cursor — do not ignore that line.
Click two points for the second flight, parallel to the first with a well of about 200 between them. You do not draw the landing: Automatic Landing is on, so Revit inserts one. Opposing flights give a rectangular landing; perpendicular flights give a square one.
When the remaining riser count reaches zero, click the green tick, then select the stair and check a single field.
| No. | Part | What it does |
|---|---|---|
| 1 | The four step-size fields | Desired 21 and Actual 21 match, so the flights are long enough. If a flight is short, Actual falls below Desired and the stair never reaches the upper level |
Actual below Desired means the stair is short of risers. It still draws, but it does not meet the upper level. Make this check every time you build a stair.
Finally, open the upper floor plan and a 3D view to look at the landing and the two railings.
How a stair reads on the drawing
Stairs carry the strictest drawing conventions of any architectural element. Revit handles most of it, but you need to know what you are looking at.
| No. | Part | What it does |
|---|---|---|
| 1 | Riser numbers, left flight | Risers 15 to 21 of the upper flight, numbered by Revit rather than typed |
| 2 | Riser numbers, right flight | Risers 1 to 7 of the first flight. The landing sits between them |
| 3 | Tread dimension string | Six consecutive treads at 250 each |
| 4 | Landing level marker | The landing at +0.200, shown with a level marker |
The convention has four parts: below the cut line the treads draw solid, above it they draw dashed, a break line separates the two, and an arrow runs along the centre of the flight. The same stair reads differently on two floors — UP below and DN above — and that is correct, not an error.
Revit generates the landing but does not check its size. A landing should not be narrower than the flight; the well between flights is usually 100 to 200; headroom should not fall below 2000. That last one needs a section through the stairwell to check.
Ramps and the one-in-twelve slope
Ramps use a separate command, older than the stair command and never rewritten by component, so its ribbon offers only Run, Boundary and Riser.
| No. | Part | What it does |
|---|---|---|
| 1 | Constraints | Base Level and Top Level as for stairs, plus Multistory Top Level for ramps running through several levels |
| 2 | Graphics | Four fields controlling the drawing text: Up text, Down text, and two checkboxes for the labels |
This is the quickest place in the whole chapter to switch the drawing into another language — type your own words into Up text and Down text.
| No. | Part | What it does |
|---|---|---|
| 1 | Construction | Shape is Thick, so the ramp has a real 75 thickness. Solid fills it down to the ground |
| 2 | Dimensions | Maximum Incline Length 9144 and Ramp Max Slope one in 12 — two limits Revit checks itself |
The figure 9144 is 30 feet converted: the longest run of slope Revit allows before it asks for a landing. One in 12 is 8.33 per cent, the default Revit sets for pedestrian ramps. Vehicle ramps are far steeper and need their own type.
A ramp can also be built as a floor with a slope arrow. The geometry is nearly identical but the information is not. A Ramp object writes its own up and down text, checks the slope limit and generates a railing, which suits pedestrian ramps. A sloped floor takes a full layer build-up and appears in floor schedules, which suits vehicle ramps in basements.
Railings: four places to define the build-up
A railing always needs a path, and the three placement methods differ in where that path comes from. Generated with a stair or ramp is the common case, following the edge of the flight. Drawn on a plane with the Railing command puts the railing flat at the view's level, which suits balconies. Hosted on an element means drawing it that way, then using Pick New Host and clicking a floor or a flight.
A railing is its own object: selecting, deleting or retyping it leaves the treads alone. Delete the stair, though, and its railing goes too.
| No. | Part | What it does |
|---|---|---|
| 1 | First three Construction rows | Railing Height 900 is greyed out because it follows the top rail. Rail Structure and Baluster Placement each open their own dialog |
| 2 | Top Rail | The upper handrail: on or off, height 900, and a Rectangular 50 by 50 profile |
The build-up is defined in four places. Top Rail is the continuous upper rail, set in Type Properties. Handrail 1 and 2 are side rails, None by default. Rail Structure holds the non-continuous horizontal rails, set in Edit Rails — glass railings usually need none, box-steel railings three or four. Baluster Placement holds balusters and posts, set in Edit Baluster Placement.
| No. | Part | What it does |
|---|---|---|
| 1 | Main pattern table | Three rows: pattern start, regular baluster, pattern end. The middle row names the baluster family; Dist. from previous is the spacing from the element before |
| 2 | Pattern settings row | Break Pattern at chooses where the pattern breaks, Justify the alignment, and Pattern Length is greyed out because it sums the spacings |
| 3 | Balusters per tread | Use Baluster Per Tread On Stairs and Balusters Per Tread. Turn it on and each tread carries exactly that many |
| 4 | Posts table | Start Post, Corner Post, End Post — the posts at the start, corners and end, defined apart from the regular balusters |
The Metric template sets Dist. from previous to 101.6 — exactly four inches converted. It is an awkward figure, and local practice rounds it to 100 so the spacing is easier to read and to check. Change it on the Regular baluster row of this table.
The quickest fix for housing railings: turn on Use Baluster Per Tread On Stairs and set two balusters per tread. They then space themselves evenly by tread. To add horizontal rails, open Edit Rails, click Insert and give each rail a height, for example 300, 550 and 800.
Three common problems and their fixes
These three turn up on almost every first project, and all three show themselves in the stair's Properties palette.
| Problem | Cause and fix |
|---|---|
| Too many or too few risers | Actual Number of Risers differs from Desired, so a flight is too short. Use Edit Stairs to lengthen it, or add another flight |
| Railing not following the flight | The railing floats or sits off the edge. Select it, click Pick New Host and click the flight again |
| Stair drawn wrongly on the upper floor | Treads cut in the wrong place or missing. The cause is the view's cut plane, not the stair |
One more note: only a freely curved flight needs the sketch option, because a sketched flight loses the ability to recalculate — change the riser count or the floor height and you must edit it by hand.
Frequently asked questions
Why is Desired Stair Height greyed out?
Because Revit takes the difference between Top Level and Base Level. To change it, change those levels, or the base and top offsets.
My stair does not reach the upper floor. How do I fix it?
Read Actual Number of Risers. Below Desired means a flight is too short: use Edit Stairs to lengthen it or add a flight until the two figures match.
What riser height suits housing?
Local practice is 150 to 175, with main stairs at 160 to 170 and goings of 250 to 300. The pair 165 and 270 is the most common.
Related articles
- What a Revit family is — the groundwork
- How to create a Revit family — build your own baluster family
- Export Revit drawings to CAD and PDF — take the stair plan into the set
- A Revit learning path for beginners — the order to learn elements in