3D Surface Plotter
FreePlot any function z = f(x, y), from a paraboloid to a saddle to a Gaussian, as a rotatable, color-coded 3D wireframe surface. Free, private, runs in your browser.
Runs entirely in your browser. Your function is never uploaded anywhere.
Supports +, -, *, /, ^, parentheses, sin, cos, tan, sqrt, abs, exp, log, and the constants pi and e.
Domain & View
Recent Activity
Visible to everyone. Last 20 uses across all visitors, newest first.
No activity yet. Be the first.
What this tool does
This 3D surface plotter draws a graph of any function z = f(x, y) you type in, letting you visualize how a two-variable function behaves across a chosen range instead of trying to imagine it from an equation alone. Type a function, adjust the X and Y domain, and drag the Azimuth and Elevation sliders to view the surface from any angle.
Beyond a bare wireframe, height is color-coded from blue (low) to red (high) so the shape reads clearly from any viewing angle, five preset functions (wave, paraboloid, saddle, ripple, and Gaussian) give you interesting shapes to start from, an auto-rotate mode keeps the view spinning hands-free, and a resolution slider trades detail for speed. Everything, including parsing and evaluating your function, runs entirely in your browser.
Problems it solves
- Visualizing a two-variable function from a calculus or linear algebra class to build intuition for its shape.
- Checking whether a function has the local maxima, minima, or saddle points you expect before working through the calculus by hand.
- Comparing how changing a coefficient or exponent in a function changes its overall shape.
- Producing a quick, rotatable 3D visual for a presentation or homework write-up without installing graphing software.
- Exploring common surface shapes (paraboloids, saddles, ripples) interactively rather than from a static textbook image.
Frequently asked questions
›What functions and operators can I use?
The basic operators +, -, *, /, ^ (power) and parentheses for grouping, plus the functions sin, cos, tan, sqrt, abs, exp, and log, and the constants pi and e. Only x and y are recognized as variables, since z is what you're solving for, not something you enter.
›Why does my plot say the function couldn't be plotted?
Either the expression has a syntax problem (a missing parenthesis, a stray character, an unknown function name) or it's undefined everywhere across your chosen X and Y range (for example 1/(x-x), which is always a division by zero). The error message describes which one it is so you know whether to fix your typing or widen your domain.
›How do I rotate the view?
Drag the Azimuth slider to spin the view around the surface horizontally, and the Elevation slider to tilt your viewing angle up or down, from looking straight down at the surface to looking at it edge-on. The Auto-Rotate button spins the azimuth continuously if you'd rather just watch it turn.
›What do the colors mean?
Color represents height (the function's output value at that point), blue for the lowest values in view, through green and yellow, up to red for the highest, using the same color key shown next to the plot. This makes the surface's shape readable even from a top-down angle where the wireframe lines alone wouldn't show much depth.
›Why is the plot drawn as a wireframe instead of a solid surface?
A wireframe avoids the visual glitches that come from getting the drawing order wrong on a solid surface (parts that should be hidden behind the surface showing through), while still clearly conveying the shape, and it stays fast even at higher grid resolutions since there's far less to draw than filled, shaded polygons.
›What does the Grid Resolution slider actually change?
It controls how many sample points are calculated across your X and Y range, a higher resolution means a denser mesh and a smoother-looking surface, especially for functions with sharp curves, at the cost of more computation each time you adjust anything. Lower it if the plot feels sluggish while you're experimenting with a function.
›Can I plot a function that isn't defined everywhere in my range?
Yes. Points where the function is undefined (like dividing by zero, or the square root of a negative number) are simply skipped rather than breaking the whole plot, so you'll see gaps in the wireframe at those spots instead of an error, as long as the function is valid somewhere in your chosen range.
›Is my function sent anywhere to be calculated?
No. The expression you type is parsed and evaluated entirely in your browser using a small built-in math parser, not sent to a server or evaluated with a generic (and riskier) code-execution function. Nothing about what you plot ever leaves your device.
Related Tools
Calculators
Add Business Days To Date
Add or subtract business days from a date, skipping weekends and optional holidays, with a full breakdown of skipped days.
FreeCalculators
Add To A Date
Add or subtract years, months, weeks, and days from a date, right in your browser.
FreeCalculators
Advanced Zodiac Compatibility Analyzer
Analyze the astrological compatibility between two zodiac signs, right in your browser.
FreeCalculators
Age Calculator
Calculate exact age in years, months, and days, plus fun extras like your age on other planets.
Comments (0)
Found this tool useful? Leave a comment, share a tip, or tell us how we can make it better.
No comments yet. Be the first to share your thoughts!