Function Grapher

Plot mathematical functions in 2D. Add multiple functions with different colors, find intersections, display extrema, and show derivative curves. Supports Cartesian and polar coordinate systems.
All processing happens locally in your browser — your data is never uploaded to any server.
Loading graph engine...
Cartesian Mode: Enter functions of x. Use standard math syntax: sin(x), cos(x), tan(x), exp(x), log(x), sqrt(x), abs(x), x^2.
Polar Mode: Enter r(θ) as function of theta. Example: sin(2*theta) for a four-leaf rose.
Interaction: Scroll to zoom, drag to pan. Hover over curves for coordinates.
Functions, domain and range

A function assigns exactly one output to each input — the graph passes the vertical-line test. The domain is the set of inputs the formula accepts (no division by zero, no even roots of negatives, no logs of non-positives); the range is the set of outputs it actually produces. y = x² accepts every real number but never outputs a negative one.

Where a function is undefined the graph does not simply stop — 1/x explodes toward ±∞ near zero, so a plotter samples finite points and the curve shoots off-screen: that vertical escape is an asymptote, not a bug.