Graphing Calculator

Plot functions of x, move and zoom the graph, trace any point, and see the roots, turning points and intersections worked out for you. Free, and it runs in your browser.

Angles in trig functions

Loading the graphing engine…

Tap or point at a curve to trace it.

Drag to move the graph; pinch, scroll or use + and − to zoom. With the graph focused: ← and → trace along a curve, ↑ and ↓ switch curves, Shift + arrows move, 0 resets.

Add an example

Roots, turning points and intersections

Found in the visible x-range, -10 to 10, and shown as dots on the graph. Move or zoom to look elsewhere.

Table of values
Window (x and y range)

How to use the graphing calculator

  1. Type a function after y =, such as x^2 - 2 or 2sin(x). Add up to 6 with the button or the example chips; tap a colour dot to hide a curve.
  2. Drag the graph to move it, and pinch, scroll or use the + and − buttons to zoom. Tap or point at a curve to trace it and read off x and y.
  3. Read the roots, y-intercepts, turning points and intersections under the graph, open the table of values for exact numbers, and download the graph as a PNG or the table as a CSV.

What you can type

To getType
Powers and rootsx^3, sqrt(x), cbrt(x), x^(2/3), nthRoot(x, 4)
Trigonometrysin, cos, tan, sec, csc, cot, asin, acos, atan, sinh, cosh, tanh
Exponentials and logse^x, exp(x), ln(x), log(x) (base 10), log(x, b), log2(x)
Otherabs(x), floor(x), ceil(x), round(x), sign(x), mod(x, 3), min(x, 2), max(x, 2), x!, pi
Piecewisex < 0 ? -x : x^2 (if x < 0 then −x, otherwise x²)

Worked example

The calculator opens with y₁ = x² − 2 and y₂ = sin(x) on x from −10 to 10. y₁ crosses the x-axis at x = −1.41421 and x = 1.41421 (that is ±√2) and the y-axis at y = −2, and has its minimum at (0, −2). sin(x) crosses at every multiple of π in the window: −9.42478, −6.28319, −3.14159, 0, 3.14159, 6.28319 and 9.42478. The two curves meet twice, at (−1.06155, −0.873112) and (1.72847, 0.987596): check the second one with 1.72847² − 2 = 0.98761 and sin(1.72847) = 0.98760.

How it works

Each formula is parsed by math.js, an open-source maths library, into a function of x; anything that isn't a formula in x (assignments, text, unknown names) is rejected with a message instead of being run. Every curve is drawn from two points per pixel of width, with gaps where the function has no real value. Roots come from sign changes narrowed down by bisection, plus a search for points where a curve only touches the axis (like x² at 0); a sign change where the value shoots off to infinity is an asymptote and is skipped.

Tip: odd roots of negative numbers are real here, so x^(1/3) is drawn for negative x too (math.js on its own leaves that half out), while x^(1/2) still has no value there.

Frequently asked questions

How do I type powers, roots and logs?

Use ^ for powers (x^2, e^x), sqrt(x) for a square root and x^(1/3) or cbrt(x) for a cube root. ln(x) is the natural log and log(x) is base 10, as on school calculators; log(x, 2) is base 2. abs(x) is the absolute value and pi is π. You can leave out the times sign: 2x, 3sin(x) and x(x + 1) all work.

Why does my graph have gaps or stop?

The curve is only drawn where the function has a real value. sqrt(x) and ln(x) have none for negative x, and 1/x has none at 0. At a vertical asymptote, like tan(x) at π/2, the two sides aren't joined, so you don't see a false vertical line.

How are roots, turning points and intersections found?

The calculator samples each function 2,000 times across the visible x-range, then narrows every sign change down by bisection, so a root is accurate to far more than the 6 significant figures shown. Turning points (local maxima and minima) are narrowed down the same way from the highest and lowest samples, and intersections are the roots of one function minus the other. Points outside the window aren't searched, so zoom out or move the graph to find them.

Does it use degrees or radians?

Radians by default, like most graphing calculators: sin(x) crosses zero at multiples of π (3.14159…). Switch to Degrees and sin(x) crosses zero every 180, and asin, acos and atan give answers in degrees.

Can I graph x = 3, circles or inequalities?

Not yet: each line is a function y = f(x), so vertical lines, circles and inequalities can't be drawn directly. For a circle of radius 3, graph sqrt(9 - x^2) and -sqrt(9 - x^2) as two functions.

Is anything I type sent anywhere?

No. The formulas are read by math.js in your browser and never run as code, and the graph, the table and the downloads are made on your device.

More everyday calculators

See all everyday calculators →

Can't find the tool you need? Tell us, and the most requested tools get built first.