What Is Row Echelon Form (REF)?
A matrix is in Row Echelon Form (REF) if it satisfies three conditions:
- All-zero rows are at the bottom. Any row consisting entirely of zeros must appear below all non-zero rows.
- Each non-zero row has a leading entry (pivot). The first non-zero entry in each non-zero row must appear strictly to the right of the leading entry in the row above.
- Entries below each pivot are zero. All entries directly below a pivot column entry must be zero (the staircase pattern).
Crucially, REF does not require pivots to equal 1, and it does not require entries above pivots to be zero. Multiple matrices can all be REFs of the same original matrix — REF is not unique.
For example, the following are all valid REFs of the same matrix:
REF option 1 (pivot = 2):
[ 2 4 −2 8 ]
[ 0 1 1 5 ]
[ 0 0 3 6 ]
REF option 2 (pivot = 1, scaled):
[ 1 2 −1 4 ]
[ 0 1 1 5 ]
[ 0 0 1 2 ]
Both are valid REFs. The second has pivots equal to 1 but still has non-zero entries above the pivots — so it is REF but not RREF.
What Is Reduced Row Echelon Form (RREF)?
A matrix is in Reduced Row Echelon Form (RREF) if it satisfies all three REF conditions, plus two additional ones:
- Every pivot equals exactly 1. Each leading entry must be 1, not 2 or any other value.
- All entries above each pivot are also zero. Not just entries below — every entry in a pivot column must be 0 except the pivot itself.
RREF is the canonical form of a matrix: every matrix has exactly one RREF, no matter what sequence of row operations produced it. This uniqueness theorem makes RREF the preferred form for analysis.
RREF (unique for this matrix):
[ 1 0 0 2 ]
[ 0 1 0 3 ]
[ 0 0 1 2 ]
The RREF calculator always computes the full RREF using Gauss-Jordan elimination — it zeros out entries above and below each pivot.
Side-by-Side Comparison: REF vs RREF
| Property | REF | RREF |
|---|---|---|
| Zero rows at bottom | Required ✓ | Required ✓ |
| Staircase pivot pattern | Required ✓ | Required ✓ |
| Zeros below each pivot | Required ✓ | Required ✓ |
| Each pivot equals 1 | Not required ✗ | Required ✓ |
| Zeros above each pivot | Not required ✗ | Required ✓ |
| Uniqueness | Not unique — many valid REFs | Unique — exactly one RREF |
| Algorithm to produce | Gaussian elimination | Gauss-Jordan elimination |
Worked Example: Same Matrix to Both Forms
Let A = [[2, 4, 2], [6, 14, 10], [4, 12, 12]]. We will reduce it to REF and then to RREF.
Step 1: Reduce to REF (Gaussian Elimination)
[ 2 4 2 ] Start
[ 6 14 10 ] R₂ → R₂ − 3R₁
[ 4 12 12 ] R₃ → R₃ − 2R₁
───────────────────────
[ 2 4 2 ]
[ 0 2 4 ] (pivot in col 2)
[ 0 4 8 ] R₃ → R₃ − 2R₂
───────────────────────
REF: [ 2 4 2 ]
[ 0 2 4 ]
[ 0 0 0 ]
This is valid REF: staircase, zeros below pivots. The pivots are 2 and 2 (not 1). The matrix is rank 2.
Step 2: Continue to RREF (Gauss-Jordan Back-Elimination)
Scale R₁ → (1/2)R₁: [ 1 2 1 ]
Scale R₂ → (1/2)R₂: [ 0 1 2 ]
R₁ → R₁ − 2R₂: [ 1 0 −3 ]
───────────────────────────────────
RREF: [ 1 0 −3 ]
[ 0 1 2 ]
[ 0 0 0 ]
This is the unique RREF: pivots are 1, zeros above and below each pivot. Rank = 2, nullity = 1. The solution to Ax = 0 is x = 3t·e₃ − 2t·e₂ + 3t·e₁ ... (parameterized by the free variable x₃ = t).
When to Use REF vs RREF
Use REF when:
- You only need to solve a specific system Ax = b by hand, using back substitution afterward — REF is faster to compute.
- Your textbook or course stops at REF and uses back substitution.
- You are computing the determinant — the determinant of a triangular matrix (any REF) is the product of diagonal entries (adjusted for row swaps and scalings). See the determinant calculator for the full formula.
Use RREF when:
- You need to read the solution directly, without back substitution.
- You need to identify free variables and the structure of the solution set.
- You need to compute the matrix inverse — apply Gauss-Jordan to [A|I] to get [I|A⁻¹] via RREF. See the matrix inverse calculator.
- You need a canonical form for theoretical analysis (rank, null space, column space basis).
- You want to use the uniqueness theorem — the RREF is the same regardless of which row operations you chose.
For a detailed algorithmic comparison of how the two forms are computed, see our Gauss-Jordan vs Gaussian elimination guide.
Does REF Have a Uniqueness Property?
No — REF is not unique. For any matrix A, there are generally infinitely many matrices that are valid REFs of A: you can scale any row by any non-zero constant, or swap the order of elimination steps, and get a different REF. The pivot positions (which columns contain pivots) are uniquely determined — but the values can vary.
RREF, by contrast, is completely determined by the pivot positions, because scaling each pivot to exactly 1 and eliminating all entries above and below removes all degrees of freedom. This is the RREF uniqueness theorem, proved (among other places) in Theorem 1 of Gilbert Strang's Introduction to Linear Algebra.
The uniqueness of RREF has a practical consequence: if two people solve the same problem by different sequences of row operations, they get the same RREF at the end. This makes RREF a reliable basis for checking work.
Is There an Online REF Calculator?
Yes — this one does it natively. The RREF calculator has a Form toggle directly above the matrix input. Leave it on RREF for the full reduction, or switch it to REF and the calculator stops at Row Echelon Form instead: it performs only the forward-elimination operations, leaves each pivot unscaled, and produces zeros below the pivots with the entries above them untouched. The step-by-step list updates to match, showing just the operations needed to reach that point. RREF stays the default, so nothing changes unless you pick REF.
It is still worth understanding what that stopping point means, especially if you are working a problem by hand. REF is the state you reach once Gaussian elimination has cleared every entry below each pivot — but before you back-eliminate the entries above those pivots, and before you scale each pivot to exactly 1. Those two remaining operations are precisely what turn an REF into the RREF. Because you can halt at different points and scale rows differently on the way there, any given matrix has many valid REFs but only one RREF.
Frequently Asked Questions
What is the difference between REF and RREF?
REF: zero rows at bottom, staircase pivots, zeros below pivots. RREF: all of REF plus pivots = 1 and zeros above pivots. REF is not unique; RREF is unique.
Is RREF unique?
Yes. Every matrix has exactly one RREF. This is the RREF uniqueness theorem. REF is not unique — different elimination sequences produce different REFs of the same matrix.
When should I use REF instead of RREF?
REF is faster by hand and sufficient for solving Ax = b with back substitution or for computing determinants. RREF is needed for direct solution reading, matrix inversion, null space computation, and canonical analysis.
Does the RREF calculator show REF?
Yes. The calculator computes the full RREF by default, and the Form toggle above the matrix input switches it to REF — stopping after forward elimination, with zeros below each pivot and pivots left unscaled. The step-by-step list updates to show only the operations needed for whichever form you pick.