Math Graphing App
What does your equation look like? Plot it and find key points instantly.
Type any function — polynomial, trigonometric, exponential, or logarithmic — and see its graph plotted immediately. The app identifies x-intercepts, y-intercepts, and the visible range so you can understand the shape of the curve without manual plotting.
—
Send feedback
💡 Share your idea or report a problem
✓ Thanks! We'll take a look.
Learn more
How It Works
The formula, explained simply
Imagine drawing a curve by placing hundreds of dots on paper, each one calculated individually, then connecting them with a smooth line. That is exactly what a function grapher does. It samples your expression at evenly spaced x values across the range you specify, computes the corresponding y values, and draws a path through them on a canvas. The more sample points, the smoother the curve — which is why the Very High detail setting helps with tight oscillations in functions like sin(100*x).
The key mechanics behind finding x-intercepts use a sign-change algorithm: if f(x) is positive at one sample and negative at the next, the curve must have crossed zero somewhere between them. The tool then narrows in on the exact crossing using a bisection search — halving the interval repeatedly until it locates the root to four decimal places. This is the same approach used by numerical solvers in engineering software, just operating in milliseconds in your browser.
Y-intercepts are simpler: the tool evaluates f(0) directly and reports the result, provided zero lies inside your visible x range. The visible y range shown below the graph tells you the minimum and maximum y values the function reached over your x window — useful for understanding whether a curve has a local minimum you might want to zoom into, or whether it blows up toward infinity near the edge of your range.
When To Use This
Right tool, right situation
Use this tool when you need to quickly understand the shape of an unfamiliar function — before committing to analytical work like differentiation or integration. Seeing the graph first tells you where the interesting regions are: where it crosses zero, where it has turning points, whether it is bounded or grows without limit. That visual context makes algebraic work faster and less error-prone.
This tool is appropriate for checking homework, exploring function transformations, and confirming that an equation you have written behaves as expected. It is also useful for catching sign errors in a derived formula — if the graph does not match what you expect, the expression is worth re-examining.
Do not rely on this tool as a substitute for exact symbolic solutions. The root-finding method is numerical, not algebraic, and can miss roots that are very close together, roots at tangent points, or roots near the edge of the graphed range. For assignments requiring exact answers — particularly in exact fraction or radical form — use the graph for orientation only and solve algebraically to confirm. The tool is also not designed for implicit functions like x^2 + y^2 = 25, which require a different rendering approach entirely.
Common Mistakes
Why results sometimes look wrong
The most common error is omitting the multiplication operator between a coefficient and a variable — writing 3x^2 instead of 3*x^2. Most graphing tools, including this one, require the explicit asterisk because 3x would be interpreted as an unknown two-character variable rather than three times x. The result is usually an error message or a blank graph, with no obvious reason why.
A second frequent mistake is using the wrong range. Graphing sin(x) from -1 to 1 shows less than a third of one full cycle, making the wave appear to be a smooth bump rather than an oscillation. Before concluding a function has no roots or no interesting behavior, widen the x range to at least two to five times the expected period or scale. For exponential functions like e^x, use a narrow range centered near zero — from -3 to 3 — because the curve climbs so steeply that a wide range compresses everything interesting into a flat line at the left side.
A third mistake is misreading a near-vertical line as a curve feature rather than a discontinuity. Rational functions like 1/(x-2) have a vertical asymptote at x = 2 where the value jumps from negative infinity to positive infinity. The connecting line drawn between those two extreme sample points is an artifact of the plotting method, not part of the true curve. If you see a suspicious vertical spike, check whether that x value makes the denominator zero.
The Math
Worked examples and deeper derivation
Every function you can graph is a rule: for each input x, compute exactly one output y. The graph is the set of all points (x, f(x)) drawn on a coordinate plane. Straight lines come from linear functions like y = 2x + 3 where the coefficient of x is the slope. Curves come from nonlinear functions — parabolas from squared terms, S-curves from cubics, oscillations from sine and cosine.
The sign of the leading coefficient changes the direction a parabola opens. A positive coefficient means the arms point upward; negative means they point downward. This is why x^2 - 4 has a minimum at the bottom of a U shape, while -x^2 + 4 has a maximum at the top of an inverted U. The vertex — the turning point — sits exactly halfway between the two roots when they exist.
Trigonometric functions like sin(x) and cos(x) repeat with a period of 2 pi (approximately 6.28 units along the x axis). Multiplying x changes the period: sin(2*x) completes two full cycles in the same horizontal space as one cycle of sin(x). Adding a coefficient outside the function changes the amplitude — the maximum height above zero. These two levers, period and amplitude, explain almost every wave shape you encounter in physics and engineering.
Expert Unlock
The thing most explanations skip
The bisection root-finder used here assumes each root is isolated — the function changes sign cleanly from positive to negative or vice versa. It silently fails on repeated roots, where the function touches zero without crossing (such as y = x^2 at the origin). For those cases, you need derivative analysis or a multiplicity-aware solver. Additionally, the sample density you choose determines the minimum feature width the grapher can detect. At 200 points over a range of 20 units, each sample is 0.1 units apart — any oscillation faster than that frequency will be aliased or missed entirely, producing a misleading flat region in what is actually a rapidly oscillating curve.
Why does my graph look wrong or cut off at the edges?
Need something this doesn't cover?
Suggest a tool — we'll build it →