An expression calculator, not a keypad
Button-by-button calculators force you to hold the intermediate result in your head and give you no way to check what you typed. This one takes the whole expression at once, so (1250 * 0.15) / (3 + sqrt(49)) is a single readable line you can edit, re-run and share as a link.
Supported operators: + - * / ^ % ! with standard PEMDAS precedence and right-associative exponentiation. Parentheses nest to any depth.
Functions and constants
Every function requires parentheses: write sin(30), not sin 30. The angle toggle controls whether trigonometric input and inverse-trig output are in degrees or radians — a distinction responsible for an enormous share of wrong answers in engineering and school homework alike.
Examples to try
2^10 → 1024 · ln(e^3) → 3 · sqrt(2)/2 → 0.7071068 · 10! → 3628800 · log(1000) → 3 · cos(60) → 0.5 in degree mode
Mistakes this calculator will not make for you
An expression parser does exactly what you typed, which is a feature until what you typed is not what you meant. The errors below account for most wrong answers in practice.
- Missing brackets around a denominator.
1/2+3is 3.5, not 0.2. If a whole expression sits under a division line on paper, it needs brackets here:1/(2+3). - Degrees when you meant radians.
sin(1)is 0.0175 in degree mode and 0.8415 in radian mode. Neither is wrong; only one is what you wanted. - Percentages typed as percentages. There is no percent operator —
%here is the remainder. For 15% of 200, write0.15*200. - Implicit multiplication.
2(3+4)is not valid; write2*(3+4). - Unary minus with powers.
-2^2is −4, following standard convention. For 4, write(-2)^2.
A habit that catches nearly all of these: estimate the answer roughly before pressing calculate. If you expected about 20 and see 3.5, the problem is almost always a bracket.
Order of operations, precisely
The rules this parser applies, from strongest to weakest binding:
- Parentheses and function calls
- Factorial (
!), applied after the value it follows - Exponentiation (
^), right-associative - Unary minus
- Multiplication, division, modulo
- Addition and subtraction
Right-associativity means 2^3^2 is 2(32) = 512, not (23)2 = 64. This matches standard mathematical convention and most programming languages, though some pocket calculators disagree — when in doubt, add brackets.
Everything runs locally in your browser. Nothing you type is sent anywhere, and the calculation is a purpose-built parser rather than a JavaScript eval, so no arbitrary code can run.