Mathematics · graphing

Graphing Calculator

Plot any function, drag to pan, scroll or pinch to zoom — up to eight curves at once.
y = f(x)
3 functions plotted

Functions

3 / 8

Presets

Trace

hover the graph
drag to pan · scroll to zoom
Field notes

Reading a graph correctly

How it works

A calculator that draws the answer

Type an expression in terms of x and it's plotted immediately — no y= needed, though it's accepted and stripped if you type it. The parser is a small hand-written recursive-descent evaluator (no eval involved), so 2x, 2*x and x*2 all mean exactly the same thing, and unsupported input is rejected rather than silently misread.

Worked example

Plotting 1/x shows two separate branches meeting nowhere near x = 0 — because division by zero is undefined, not infinite in a drawable sense, the curve correctly breaks into two pieces instead of joining with a vertical line.

What functions can I type?

Standard notation: +, -, *, /, ^ for powers, and parentheses. sin, cos, tan, asin, acos, atan, sqrt, cbrt, abs, ln, log, log2, exp, floor, ceil, round and sign all work, along with the constants pi and e. Implicit multiplication works too — 2x, 2sin(x) and (x+1)(x-1) are all understood without a * sign.

Why does the curve stop at a vertical asymptote instead of drawing a vertical line?

A vertical line at an asymptote like x=0 for 1/x isn't actually part of the function's graph — the function is undefined there, not infinite in a way that draws a line. This tool detects the jump and breaks the curve into separate pieces, the same way a correct hand-drawn sketch would.

Does zooming keep circles looking like circles?

Yes — the x and y axes always share the same scale (the same number of pixels per unit), so a function like sqrt(9-x^2) traces a genuine semicircle rather than a squashed ellipse, at every zoom level.

Can I plot more than one function at once?

Up to eight, each in its own colour, any of which can be hidden or deleted independently — useful for comparing a function against its derivative, or seeing where two curves intersect.

What this page assumes

Real-valued functions of a single variable x. The curve is sampled across the width of the plot, so any feature narrower than the spacing between samples — a very fast oscillation, a narrow spike — can be missed entirely; if a shape looks suspiciously smooth, zoom in and check. Breaks at asymptotes are detected by a jump test rather than by solving for them, inputs with no real result simply leave a gap, and implicit relations such as x² + y² = 1 cannot be entered because the parser expects y as a function of x.

Plotted by sampling, not by solving. The curve is evaluated at intervals across the range, so anything narrower than the gap between samples can be missed entirely: a spike, a removable hole, or a root squeezed between two points. Asymptotes are the visible symptom — the near-vertical line drawn through one is an artefact of joining samples, not part of the function.
Version history · site-wide passes only

This page has changed in 45 archived releases, but each of those was a site-wide pass, so none is attributable to this tool on its own and none is listed here. That is not a claim that the tool never changed — a release that reworked many pages at once may well have altered this one too. The changelog has them.