Scientific calculator
Write the whole expression. See it, fix it, share it.
Result
1,028
What it understands
Operators — + − × ÷ % ^ !and brackets. * and / work too, and** is the same as ^.
Constants — pi,π, e, tau.
Functions —sin, cos, tan, asin, acos, atan, sqrt, cbrt, abs, ln, log, log2, log10, exp, round, floor, ceil, sign, sinh, cosh, tanh.
A field, not a keypad
Buttons are what a calculator looked like when it was a physical object. On a screen they take the whole expression away from you: you cannot see what you entered, cannot correct the middle of it, cannot paste one in from a document, and cannot send it to anyone. Here the expression is the state, so it sits in the URL like everything else on this site — the address bar carries your working.
Why it doesn’t just hand the expression to JavaScript
Because JavaScript would answer a different question. 2^3 is a bitwise exclusive-or in that language and evaluates to 1, not8. sin(90) is in radians. Those are correct answers for the language and wrong answers for the person typing, and neither of them errors — which is the worst way for a calculator to be wrong.
So this page carries a small parser of its own, with the precedence a maths textbook uses:2^3^2 is 512 rather than 64, and -2^2is −4. It also means the calculator runs under this site’s strict content security policy, which blocks eval outright.
Mistakes say where they are
An unclosed bracket, a stray character, a function without an argument — each reports what it did not understand and the position it stopped at, rather than “invalid input”. A long expression with one typo should not need bisecting to fix. The last good result stays on screen while you correct it.