Math Calculator That Shows Work

What is the answer to your math problem, shown step by step?

Enter a math expression — addition, subtraction, multiplication, division, exponents, or parentheses — and see each step worked through in plain language. Every operation is broken down so you can follow the logic, check your own work, or explain the answer to someone else.

Updated July 2026 · How this works

Example calculation — edit any field to use your own numbers

Worth knowing
How It Works
The formula, explained simply

Imagine you are peeling an onion — you always remove the outermost layer last, but you peel from the inside out. A math expression works the same way: the deepest pair of parentheses gets evaluated first, its result replaces that whole sub-expression, and then the next layer runs. By the time the calculator reaches the outermost addition or subtraction, every nested value has already been collapsed into a single number.

The technical name for this process is recursive descent parsing. The calculator reads your expression as a hierarchy of operations rather than a flat list. Multiplication and division form one tier; addition and subtraction sit below them in priority. Exponents sit above both. When the parser encounters a parenthesis, it temporarily suspends the current operation and descends into the bracketed sub-expression, completing it fully before returning the result upward. Each descent produces one or more steps in the working shown.

This hierarchy is why two expressions that look similar can produce very different answers. The expression 12 / 2 * 3 equals 18 because division and multiplication have equal priority and run left to right, giving (12 / 2) * 3. But 12 / (2 * 3) equals 2 because the parentheses force the multiplication to happen first. The step-by-step working makes these branching moments visible rather than hiding them inside a black-box result.

When To Use This
Right tool, right situation

Use this calculator when you have a multi-step arithmetic expression and need to verify your own working, explain a result to someone else, or diagnose why your answer differs from a reference answer. It is particularly useful for checking compound formulas where operator precedence is ambiguous at a glance — markup calculations, unit conversions with multiple steps, and engineering estimates with mixed multiplication and addition all benefit from seeing each intermediate value spelled out.

It is also the right tool when teaching order of operations to a student. Instead of simply stating the answer, you can point to each numbered step and connect it to the rule that triggered it. Parentheses first, exponents second, multiplication and division third, addition and subtraction last — each step in the output maps directly to one rule.

This tool is not appropriate for symbolic algebra, calculus, or expressions involving variables like x or n. It operates on numerical values only. It is also not a substitute for spreadsheet software when you have dozens of values — it handles one expression at a time. If you need to evaluate the same formula across many different input values, a spreadsheet function column is more practical than repeated single-expression checks here.

Common Mistakes
Why results sometimes look wrong

Mistake 1 — Misplaced multiplication signs: A common entry error is writing an expression like 3(4 + 2) without the explicit * between 3 and the opening parenthesis. In standard algebraic notation this implies multiplication, but most calculators, including this one, require the explicit operator. The input 3(4+2) will fail validation; the correct entry is 3 * (4 + 2). The cause is habit from written math where the multiplication sign is often omitted. The consequence is a parse error or a completely wrong result if the tool misinterprets the structure.

Mistake 2 — Assuming left-to-right for everything: Many people mentally process expressions strictly left to right, which gives the right answer only when all operators have equal precedence. Writing 2 + 3 * 4 and expecting 20 is the classic example. The calculator will return 14 and show the multiplication step before the addition. The cause is reading the expression like a sentence. The consequence is that checking your own work with this tool reveals the discrepancy before you use the number for anything important.

Mistake 3 — Forgetting to match parentheses: An opening bracket without a matching closing bracket leaves the parser in an incomplete state. This is especially common in nested expressions like ((a + b) * c where one level closes but the outer level does not. The consequence is a parse error rather than a wrong answer, which is actually the safer failure mode. The working output will flag exactly where the mismatch occurred.

The Math
Worked examples and deeper derivation

Every arithmetic expression is a tree. Each leaf node is a number; each branch node is an operator. Evaluating the expression means traversing the tree from leaves toward the root, replacing each branch with its computed value as you go. The final value at the root is the answer. When the calculator shows you steps, it is showing you each node being resolved in evaluation order.

Floating-point arithmetic introduces a subtle layer beneath this. Computers store numbers in binary, and most decimal fractions have no exact binary representation. The number 0.1 in binary is a repeating pattern, similar to how 1/3 in decimal is 0.333... This means an expression like 0.1 + 0.2 may not return exactly 0.3 — it may return 0.30000000000000004. Setting decimal places to 2 rounds that to 0.30, which matches your expectation. For financial or scientific work, choosing an appropriate decimal precision is not cosmetic — it prevents compounding rounding drift across multiple steps.

Exponentiation has the highest precedence of the four basic operations, and it binds tighter than multiplication. This means 2 * 3^2 evaluates as 2 * (3^2) = 18, not (2 * 3)^2 = 36. If your hand calculation used a different assumption, the step-by-step output will show the divergence immediately at the exponent step. Spotting that discrepancy is exactly what the working display is built for.

Checking a student homework problem
Expression: 3 * (4 + 2) ^ 2 / 9, Decimal places: 2
The calculator produces 12.00 and shows four distinct steps: first adding 4 and 2 inside the parentheses to get 6, then raising 6 to the power of 2 to get 36, then multiplying 3 by 36 to get 108, then dividing 108 by 9 to reach 12. This lets a student trace exactly where the order of operations was applied and confirm whether their own hand-written steps match.
Edge case — single negative number as the full expression
Expression: -7, Decimal places: 0
The result is -7 with the step note showing no operations were needed. This confirms the parser handles unary negatives without treating the minus sign as a binary subtraction operator. It is useful when a student is verifying that their calculator correctly reads signed constants, not just multi-term expressions.
A small business owner cross-checking a markup formula
Expression: (850 - 620) / 620 * 100, Decimal places: 1
The result is 37.1, representing a 37.1% markup. The steps show: subtract 620 from 850 to get 230, divide 230 by 620 to get approximately 0.371, then multiply by 100. The business owner can verify the exact sequence the formula used and catch whether they accidentally divided by the selling price instead of the cost price — a common and costly mistake.
Expert Unlock
The thing most explanations skip

The step-by-step output exposes something most calculators hide: the exact moment floating-point rounding departs from exact arithmetic. When you see an intermediate step like 1 / 3 = 0.3333333333333333, that trailing digit pattern is not random — it is the binary approximation limit. A practitioner building a financial formula can use this to decide where to insert explicit rounding in the original expression, rather than letting small errors compound across ten multiplications. The decimal places setting in this tool rounds only the final display; it does not affect intermediate precision. If you need exact decimal arithmetic at intermediate steps, restructure the expression to defer division until the last possible operation.

Why does my answer differ from what I calculated by hand?

What order of operations does this calculator follow?
This calculator follows PEMDAS/BODMAS: parentheses first, then exponents, then multiplication and division left to right, then addition and subtraction left to right. If you write 2 + 3 * 4, the result is 14, not 20, because multiplication runs before addition. Use parentheses such as (2 + 3) * 4 to force a different order.
How do I enter an exponent or power in the expression?
Use the caret symbol ^ to write exponents. For example, 2^8 means 2 to the power of 8, which equals 256. The caret is standard on most keyboards above the 6 key. Nested exponents like 2^(3^2) are evaluated right to left in standard math convention.
Why does the step-by-step working show a different intermediate value than I expected?
Intermediate values are stored at full floating-point precision, which means steps may show long decimals even when the final answer rounds cleanly. The display rounds only the final result to the number of decimal places you set. If a step looks wrong, check whether the order of operations matched your intent — adding parentheses around the part you wanted to compute first usually resolves the difference.

Need something this doesn't cover?

Suggest a tool — we'll build it →