# Graph Paper > Plot functions, explore equations, and visualize data with interactive 2D and 3D graphs in your browser. For AI agents and programs: - Instructions: https://graph-paper.io/for-agents/en/index.md - Make a link: POST https://graph-paper.io/plot-link with the JSON plot document as the body (or GET https://graph-paper.io/plot-link?doc=); the answer has the link, or the errors. - MCP server: https://graph-paper.io/mcp (Streamable HTTP; its plot tools need no authentication; MCP Registry name io.graph-paper/graph-paper; server card https://graph-paper.io/mcp/server-card). - Connect an assistant to the MCP server (a published server is not in a client until the person adds it once): Claude Code: claude mcp add --transport http graph-paper https://graph-paper.io/mcp; Claude and ChatGPT: add a custom connector with that address and no authentication (ChatGPT needs developer mode first); a client with an mcp.json file: {"mcpServers":{"graph-paper":{"url":"https://graph-paper.io/mcp"}}}. Steps for each client: https://graph-paper.io/for-agents/en/#connect-an-ai-assistant - A signed-in Graph Paper user can connect an assistant to their account at https://graph-paper.io/mcp: the tools marked "Needs sign-in" (list, search and read their documents, compute with them) start the sign-in (OAuth) on their first call. - In-browser tools for a signed-in person: https://graph-paper.io/agent-tools.json ## Capabilities - 2D plots: functions, parametric and polar curves, implicit curves and regions, heatmaps with contour lines, vector fields, complex domain coloring, points and polygons; annotations (labels, segments with arrows, rules, bands) as markers that the person can move. - 3D plots: surfaces, parametric surfaces and curves, implicit surfaces, point sets, spheres, segments and arrows. - Interaction: sliders, animation, draggable points, and actions that change values once or on a timer. - Data: tables, scatter plots, bar charts, histograms, box plots, candlestick charts, and fits of a formula to data. - Notebooks: documents that mix prose, formulas, computations and figures. - Sharing: public links, shared folders, collaborators and real-time editing. - Hand a plot to a person: https://graph-paper.io/new#doc=, or https://graph-paper.io/new#json=, opens it as an editable draft; the format is at https://graph-paper.io/plot-document-format/en/, its JSON Schema at https://graph-paper.io/docs/schema/plot-document.schema.json (what the service accepts), and a strict JSON Schema that also refuses every key that the service warns about (a misspelled or unknown field, for example) at https://graph-paper.io/docs/schema/plot-document.strict.schema.json. - Check a plot document and get its link: POST https://graph-paper.io/plot-link with the JSON document as the body (or GET https://graph-paper.io/plot-link?doc=). No account and no key. OpenAPI description: https://graph-paper.io/openapi.json. - MCP server: https://graph-paper.io/mcp (Streamable HTTP), with the tools make_plot_link, get_plot_format and list_examples, which need no authentication; a signed-in person's OAuth token adds the account tools. - No HTTP API writes a person's documents, and there are no API keys; public documents can be read. A signed-in person can let an assistant read their own documents through the MCP server (OAuth), or allow in-browser tools (see agent-tools.json). ## Main - [Graph Paper](https://graph-paper.io/): Plot functions, explore equations, and visualize data in the browser. - [Showcase](https://graph-paper.io/showcase/en/): Gallery of example graphs and visualizations. - [Tips and Tricks](https://graph-paper.io/tips-and-tricks/en/): Tips and tricks for getting the most out of Graph Paper. - [Plotting Guide](https://graph-paper.io/plotting-guide/en/): Lists, points, restrictions, colors, and a Desmos translation table for building complex plots in Graph Paper. - [For Agents](https://graph-paper.io/for-agents/en/): For programs and AI agents: what Graph Paper can draw, how to open a plot for a person with a link, and what can be read without an account. - [Plot Document Format](https://graph-paper.io/plot-document-format/en/): The JSON format of a Graph Paper plot document: every field, every series type, and complete examples with links that open them. - [Documentation](https://graph-paper.io/docs/en/): The documentation of Graph Paper: guides for people, pages for programs and AI agents, and file formats. No account is needed to read it. - [Full text](https://graph-paper.io/llms-full.txt): The complete English text of For Agents, Plot Document Format, Plotting Guide and Tips and Tricks, in one file. ## Showcase - [Traffic jam with no accident](https://graph-paper.io/showcase/en/traffic-jam): Watch a small disturbance grow into congestion on a circular road. - [Othello: read the board](https://graph-paper.io/showcase/en/othello): Play Othello with legal-move hints and automatic passes. Inspect the Prelude to see how a move flips the discs. - [How heat spreads](https://graph-paper.io/showcase/en/heat-spread): Watch heat spread across a plate, add warm patches, and compare insulated and cooled edges. - [Mandelbrot Set](https://graph-paper.io/showcase/en/mandelbrot-set): Zoom into the Mandelbrot set: the complex numbers c for which z → z² + c, iterated from zero, never escapes to infinity. Edit the equation yourself. - [Mandelbrot Colorings](https://graph-paper.io/showcase/en/mandelbrot-colorings): One equation, seven color formulas: change a slider to recolor the Mandelbrot set with cosine, polynomial, band and parity colorings. Edit each formula. - [Burning Ship Fractal](https://graph-paper.io/showcase/en/burning-ship): Zoom into the Burning Ship fractal, the Mandelbrot iteration with absolute values: find the small ship near the large one, then edit the equation. - [Multibrot Set](https://graph-paper.io/showcase/en/multibrot): Drag a slider to change the power d of the Multibrot set, the fractal of z → z^d + c, from 2 to 8, and see its symmetry change. Edit the equation. - [Buddhabrot](https://graph-paper.io/showcase/en/buddhabrot): The Buddhabrot in three colors: 1.2 million points add their escaping orbits to three grids of counts, computed by the prelude when the document opens. Edit the step or the number of points. - [Julia Set](https://graph-paper.io/showcase/en/julia-set): Drag the slider for the angle a to move the constant c around a circle and watch the Julia set of z² + c deform. Edit the equation yourself. - [Rainbow Trigonometry](https://graph-paper.io/showcase/en/rainbow-trig): Compare six sine waves sin(x + k/6) and see how a phase shift moves a curve along the x-axis without changing its shape. Edit the equation. - [Polar Roses](https://graph-paper.io/showcase/en/polar-roses): Drag the slider for k and watch the polar rose r = sin(kθ) change its petal count: odd k gives k petals, even k gives 2k. Edit the equation. - [Damped Oscillation](https://graph-paper.io/showcase/en/damped-oscillation): Drag the slider for the damping coefficient c and watch the exponential envelope of the damped sine wave tighten or loosen. Edit the equation yourself. - [Domain Coloring](https://graph-paper.io/showcase/en/domain-coloring): Drag the slider for the exponent a and watch the domain coloring of z^a: the hue shows the phase, which winds a times around the origin. Edit the function. - [Wave Interference](https://graph-paper.io/showcase/en/wave-interference): Rotate the 3D surface of two point-source waves added together: constructive interference makes ridges, destructive interference flattens them. - [Spherical Harmonics](https://graph-paper.io/showcase/en/spherical-harmonics): Rotate a spherical harmonic with ℓ = 2 in 3D: the four lobes of a d orbital, plotted as the surface r = 2|sin²(u)cos(2v)|. Edit the equation. - [Implicit Heart](https://graph-paper.io/showcase/en/implicit-heart): Edit the heart equation (x² + y² − 1)³ − x²y³ = 0 and watch the implicit curve redraw: two rounded lobes on top and a cusp at the bottom. - [Contour Landscape](https://graph-paper.io/showcase/en/contour-landscape): Zoom into a contour plot of two Gaussian peaks and the saddle point between them: twelve level lines over a heatmap. Edit the function f(x, y). - [Möbius Strip](https://graph-paper.io/showcase/en/mobius-strip): Rotate the Möbius strip in 3D: a surface with one side and one edge, made by a single half twist. Edit the parametric equations to change the band. - [Spiral Galaxy](https://graph-paper.io/showcase/en/spiral-galaxy): Edit the growth rate in the parametric equations of the logarithmic spiral r = e^(0.1t): two arms, offset by π, unwind at the same pitch angle. - [Saddle Surface](https://graph-paper.io/showcase/en/saddle-surface): Rotate the hyperbolic paraboloid z = x² − y² in 3D and see the saddle point at the origin: up in one direction, down in the other. Edit the equation. - [Butterfly Curve](https://graph-paper.io/showcase/en/butterfly-curve): Edit the parametric equations of Temple Fay's butterfly curve, which mixes e^cos(t), cos(4t) and sin(t/12) over 0 ≤ t ≤ 12π, and replot it. - [Lissajous Family](https://graph-paper.io/showcase/en/lissajous-family): Drag the slider for the phase offset d and watch the 3:2 Lissajous curve (sin(3t + d), sin(2t)) shift its loops and crossings. Edit the equations. - [Conchoid of Sluze](https://graph-paper.io/showcase/en/conchoid-of-sluze): Edit the implicit equation (x − 1)(x² + y²) = x² and replot the conchoid of de Sluze: a cubic curve with a vertical asymptote at x = 1. - [Superellipse Family](https://graph-paper.io/showcase/en/superellipse-family): Drag the slider for the exponent n in |x|^n + |y|^n = 1 and watch the superellipse change from astroid to diamond, circle and squircle. Edit the equation. - [Fourier Harmonics](https://graph-paper.io/showcase/en/fourier-harmonics): Compare the wave sin(x) + 0.4cos(2x) with its two harmonics plotted separately, and see how a second harmonic reshapes each cycle. Edit the equation. - [Implicit Bouquet](https://graph-paper.io/showcase/en/implicit-bouquet): Edit three implicit equations on one plot: the folium of Descartes x³ + y³ = 3xy, a Bernoulli lemniscate and an astroid, with their loops and cusps. - [Buck-Boost Converter](https://graph-paper.io/showcase/en/buck-boost-converter): Compare buck, boost and buck-boost DC-DC converters: normalized input resistance against the duty ratio, from 0 to 1. Edit the equations. - [Kernel Functions](https://graph-paper.io/showcase/en/kernel-functions): Compare five kernels for kernel density estimation: Gaussian, Epanechnikov, quartic, tricube and uniform, on one graph. Edit any kernel's formula. - [Klein Bottle](https://graph-paper.io/showcase/en/klein-bottle): Rotate the figure-8 Klein bottle in 3D: a closed one-sided surface that must cross itself in 3D, here along one circle. Edit the parametric equations. - [Boy's Surface](https://graph-paper.io/showcase/en/boys-surface): Rotate Boy's surface in 3D: a one-sided immersion of the projective plane with three-fold symmetry and one triple point. Edit the parametric equations. - [Roman Surface](https://graph-paper.io/showcase/en/roman-surface): Rotate Steiner's Roman surface in 3D: a quartic model of the projective plane with tetrahedral symmetry and a triple point. Edit the parametric equations. - [Cross-Cap](https://graph-paper.io/showcase/en/cross-cap): Rotate the cross-cap in 3D: a self-intersecting model of the projective plane with one segment of double points and two pinch points. Edit the equations. - [Trefoil Knot](https://graph-paper.io/showcase/en/trefoil-knot): Rotate the trefoil knot in 3D: the simplest non-trivial knot, with three crossings that cannot be untied without cutting. Edit the parametric equations. - [Seashell](https://graph-paper.io/showcase/en/seashell): Rotate a seashell in 3D: a parametric surface that coils along a logarithmic spiral, each turn a scaled copy of the last. Edit the equations. - [Double Helix](https://graph-paper.io/showcase/en/double-helix): Rotate a DNA-style double helix in 3D: two helices offset by π, joined by 24 rungs like base pairs. Edit the parametric equations of each strand. - [Torus Knot Family](https://graph-paper.io/showcase/en/torus-knot-family): Rotate three torus knots in 3D: the (2, 3) trefoil, the (3, 5) and the (5, 8), stacked to compare winding ratios. Edit the winding numbers. - [Frenet Frame](https://graph-paper.io/showcase/en/frenet-frame): Rotate a space curve in 3D with its Frenet-Serret frame: tangent T, normal N and binormal B drawn at nine points. Edit the curve's equations. - [Iris Species](https://graph-paper.io/showcase/en/iris-clusters): Zoom into a scatter plot of petal length against sepal length for three iris species, modeled on Fisher's iris dataset. Edit the data and replot it. - [Hertzsprung–Russell Diagram](https://graph-paper.io/showcase/en/hr-diagram): Zoom into an HR diagram of luminosity against surface temperature: main sequence, red giants and white dwarfs. Edit the star data and replot it. - [Geyser Eruptions](https://graph-paper.io/showcase/en/geyser-eruptions): Compare eruption duration with waiting time in a scatter plot modeled on Old Faithful: two clusters, short and long eruptions. Edit the data. - [Normal Distribution](https://graph-paper.io/showcase/en/normal-density): Compare a histogram of 800 normal samples with the bell curve (1/√(2π))e^(−x²/2) laid over it. Edit the data or the density formula. - [Bimodal Wait Times](https://graph-paper.io/showcase/en/geyser-wait-times): Zoom into a histogram of geyser wait times modeled on Old Faithful: a bimodal distribution with peaks near 54 and 80 minutes. Edit the data. - [Monthly Rainfall](https://graph-paper.io/showcase/en/monthly-rainfall): Edit the data of this bar chart of average monthly precipitation in a temperate maritime climate modeled on Seattle: wet winters, dry summers. - [Exam Scores by Section](https://graph-paper.io/showcase/en/exam-scores-by-section): Compare four lab sections in a box plot of exam scores: medians, quartiles, whiskers and outliers side by side. Edit the data to change the distributions. - [Sample Price Series](https://graph-paper.io/showcase/en/tych-stock-series): Zoom into a candlestick chart of open, high, low and close prices for a fictional ticker over 30 days: consolidation, then a breakout. Edit the data. - [Limaçon Family](https://graph-paper.io/showcase/en/limacon-family): Move the slider for the offset a in the polar curve r = a + cos θ and watch the limaçon pass from an inner loop to a cardioid to a dimpled shape. - [Electric Dipole](https://graph-paper.io/showcase/en/dipole-field): Zoom into the vector field of a 2D point dipole: the arrows leave one pole and curve back into the other, colored by field strength. Edit the formula. - [Gaussian Width](https://graph-paper.io/showcase/en/gaussian-explorer): Drag the slider for the standard deviation s and watch the normal distribution bell curve widen and flatten, or spike, while its area stays 1. - [Lagrange Points](https://graph-paper.io/showcase/en/lagrange-points): Move the slider for the Earth mass and watch L1 and L2 spread apart: each Lagrange point is where two force-component curves cross. Edit the equations. - [Plasma Effect](https://graph-paper.io/showcase/en/plasma-effect): Watch the plasma effect animate: two waves multiplied into one scalar field and shaded by a cosine color ramp. Edit the formula to change the pattern. - [Creation](https://graph-paper.io/showcase/en/creation-shader): Watch the Creation shader from the demoscene animate: a unit grid pushed out by a breathing ring wave, drawn as a glowing distance field. Edit the formula. - [CIE Chromaticity Diagram](https://graph-paper.io/showcase/en/cie-chromaticity): Zoom into the horseshoe of visible colors, each point painted with its sRGB color by a formula, with the sRGB gamut triangle inside. Edit the formula. - [Game of Life](https://graph-paper.io/showcase/en/game-of-life): Watch Conway's Game of Life run live on a 150 × 150 board, ten steps a second: cells are born, survive or die by their neighbor count. Edit the rules. - [Exoplanet Transit](https://graph-paper.io/showcase/en/exoplanet-transit): Watch a planet cross a limb-darkened star and the transit light curve dip: flat-bottomed for a uniform disc, deeper and rounded for the real star. - [Trigonometric Tapestry](https://graph-paper.io/showcase/en/complex-trig-sum): Move the slider M to morph the identity into a sum of six nested trig functions, painted by domain coloring over the complex plane. Edit the formula. - [Voronoi Diagram](https://graph-paper.io/showcase/en/voronoi-diagram): Watch sixteen moving sites split the plane into Voronoi cells: every point takes the color of its nearest site. Edit the formula to change the pattern. - [Rainbow Refraction](https://graph-paper.io/showcase/en/rainbow-refraction): Move the slider for the impact height y₀ and follow a white ray through a water droplet: refracted, reflected once, refracted out, and split into colors. - [Metaballs](https://graph-paper.io/showcase/en/metaballs): Rotate ten metaballs in 3D and watch them drift, merge and split: the implicit surface where the sum of their fields reaches a level. Edit the equation. - [Knotted Tube](https://graph-paper.io/showcase/en/frenet-knot-tube): Rotate a rainbow tube around the (3, 5) torus knot in 3D, built on the Frenet frame of the curve: tangent, normal and binormal. Edit the equations. - [Poly Banana](https://graph-paper.io/showcase/en/poly-banana): Rotate this low-poly banana of 63 flat triangles in 3D: the picture only holds from one viewing direction. Edit the triangles to change the shape. - [Platonic Solids](https://graph-paper.io/showcase/en/platonic-solids): Rotate the five Platonic solids in 3D: tetrahedron, cube, octahedron, dodecahedron and icosahedron, each built from a vertex list and a face table. - [Three-Body Problem](https://graph-paper.io/showcase/en/three-body-problem): Watch three equal masses under gravity run live: the figure-eight orbit, or a turning triangle that breaks up into chaos. Edit the equations. - [Lorenz Attractor](https://graph-paper.io/showcase/en/lorenz-attractor): Rotate the Lorenz attractor in 3D as the system runs live: an orbit that never repeats traces the butterfly shape of chaos. Edit the three equations. - [Kelvin Wake](https://graph-paper.io/showcase/en/kelvin-wake): Move the slider for the ship speed U: the wavelength of the V-shaped Kelvin wake changes, but its half-angle stays 19.47° in deep water. - [Underwater Caustics](https://graph-paper.io/showcase/en/underwater-caustics): Watch sunlight refracted by a wavy water surface gather into moving bright caustic lines, the patterns on the floor of a swimming pool. Edit the formula. - [Vibrating Drum](https://graph-paper.io/showcase/en/vibrating-drum): Rotate a circular drumhead in 3D and watch three normal modes vibrate at once: Bessel functions of the radius with a fixed rim. Edit the equations. - [Joukowsky Airfoil](https://graph-paper.io/showcase/en/joukowsky-airfoil): Move the slider for the angle of attack a and watch the streamlines around a wing, mapped from the flow around a circle by Z = z + 1/z. Edit the equations. - [Greek Wave Frieze](https://graph-paper.io/showcase/en/greek-wave-frieze): Watch the running wave pattern of Greek pottery slide along itself: one formula draws the band and winds it into a spiral mosaic. Edit the formula. - [Gyroid](https://graph-paper.io/showcase/en/gyroid): Rotate Schoen's gyroid in 3D and move the slider for the level c of sin x cos y + sin y cos z + sin z cos x: one labyrinth widens, the other narrows. - [Apollonian Gasket](https://graph-paper.io/showcase/en/apollonian-gasket): Zoom into an Apollonian gasket: circles packed inside a circle, each tangent to three others, sized by Descartes' theorem with whole-number curvatures. - [Spirograph](https://graph-paper.io/showcase/en/spirograph): Watch a wheel roll inside a ring and its pen trace a hypotrochoid. Edit the radii and the pen distance to draw other spirograph curves. - [Whirling Squares](https://graph-paper.io/showcase/en/whirling-squares): Drag the slider for the step s: each nested square is turned and shrunk by the same amount, so the corners run along four logarithmic spirals. - [Projectile with Air Drag](https://graph-paper.io/showcase/en/projectile-with-drag): Watch a ball fly live with quadratic air drag, computed step by step, beside the parabola it would follow in a vacuum. Edit the drag coefficient c. - [Predators and Prey](https://graph-paper.io/showcase/en/predator-prey): Watch the Lotka-Volterra predator-prey model run live: the direction field, the closed orbit and a state that moves around it. Edit the equations. - [Adding Points on an Elliptic Curve](https://graph-paper.io/showcase/en/elliptic-curve-group-law): Move the sliders for the points P and Q on y² = x³ − 2x + 1: the chord meets the curve in a third point, and its mirror image is the sum P + Q. - [Droste Effect](https://graph-paper.io/showcase/en/droste-effect): Watch a square grid zoom into itself along a spiral: the conformal map from the complex logarithm behind Escher's Print Gallery. Edit the equations. ## Legal - [Privacy Policy](https://graph-paper.io/privacy-policy) - [Terms of Service](https://graph-paper.io/terms-of-service)