Double Integral Calculator
Numerically evaluate the double integral of f(x, y) over a rectangular region [a, b] × [c, d] with composite 2D Simpson's rule, showing the integral setup and method alongside the numeric result.
Input
The function to integrate, in terms of x and y — mathjs syntax: ^ for powers, sqrt(), sin(), cos(), log(), etc.
Output
More ways to use this tool
REST API
curl -X POST https://api.iotools.cloud/v1/tool/double-integral-calculator \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"f": "x*y",
"a": "0",
"b": "1",
"c": "0",
"d": "1"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `double-integral-calculator` tool (Double Integral Calculator) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.
Embed widget
<iframe
src="https://iotools.cloud/embed/double-integral-calculator/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Double Integral Calculator — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Drop this into your own page — free, no key required, just a link back.
| Cost per API/MCP call | From 5 credits |
|---|---|
| Need more credits? | View pricing |
Also available with
Guides
The Double Integral Calculator numerically evaluates ∫∫ f(x, y) dy dx over a rectangular region R = [a, b] × [c, d] — the volume between the surface z = f(x, y) and the xy-plane above that rectangle. Alongside the numeric result it shows the integral setup (the region and f(x, y) written out) and the method used, so the number isn't a black box.
It's built for multivariable calculus students checking a homework answer, and for anyone who needs a fast numeric double integral without deriving an antiderivative by hand.
How to use it
- Enter the function f(x, y) — standard math notation works:
^for powers,*for multiplication, plussqrt(),sin(),cos(),log(), and the other functions supported by mathjs's expression parser. - Enter the outer bounds for x: x lower bound (a) and x upper bound (b).
- Enter the inner bounds for y: y lower bound (c) and y upper bound (d).
- Read ∫∫ f(x, y) dA for the numeric result, Integral Setup for the integral written out, and Details for the method and grid resolution used.
Results update automatically as you type. For example, f(x, y) = x*y over [0, 1] × [0, 1] returns 0.25.
How is the double integral computed?
The calculator uses composite 2D Simpson's rule (nested 1D Simpson's rule): the region is divided into a 101×101 grid of points (100 subdivisions per axis). For each of the 101 x-values, Simpson's rule integrates f(x, y) over y across the 101 y-values in [c, d]; those 101 inner results are then combined with Simpson's rule again over x. This is exact for any polynomial of total degree ≤ 3 in each variable, and accurate to several significant digits for smooth functions generally (trig, roots, logs) — no antiderivative is ever computed symbolically.
Only rectangular regions with constant numeric bounds are supported — bounds that are themselves expressions in the other variable (e.g. a triangular or curved region) are out of scope for this calculator.
What functions can I enter?
Anything mathjs's expression evaluator understands: polynomials (x^2*y - 2*x), trigonometric functions (sin(x)*cos(y)), roots and logarithms (sqrt(x*y), log(x+y)), and combinations of these, using x and y as the two variables. Angles in trig functions are in radians by default — write pi for π.
To evaluate a single-variable expression at a point, or arbitrary math expressions in general, see the Math Evaluator; for the divergence of a 3D vector field, see the Divergence Calculator.
Privacy
This calculator runs entirely in your browser. Your function and bounds are never uploaded, logged, or stored — the computation happens locally on your device.