Built and fact-checked by the DocNectar team — see our editorial standards
Key Features
Instant Calculation
Get accurate results in real time with our optimized algorithm.
Mobile Friendly
Fully responsive design. Works on all devices & screen sizes.
Privacy Focused
Your data stays on your device. We don't store any inputs.
100% Free
No hidden costs. This tool is completely free forever.
Bilinear interpolation estimates the value at a point inside a rectangle from the four known values at its corners, by linearly interpolating first in one direction and then the other. It's the two-dimensional extension of ordinary (linear) interpolation: where linear interpolation fills in an unknown value between two known points on a line, bilinear interpolation fills in an unknown value across a whole grid cell using the four points that bound it. This technique is everywhere in computing and applied science: image editing software uses it to resize or rotate photos smoothly, computing intermediate pixel colors from their neighbors; GIS software and flight simulators use it to estimate elevation or temperature at a location between known survey/sensor points on a terrain grid; and numerical lookup tables in engineering (steam tables, gas property charts, calibration curves) use it to estimate a value between two rows and two columns of tabulated data without needing an entry for every possible input.
How it works
Enter the rectangle's four corner coordinates and their known z-values (the quantity being interpolated), plus the target (x, y) point that falls inside the rectangle. The calculator first interpolates linearly along the top edge and along the bottom edge separately, producing two intermediate values at the target's x-coordinate, then interpolates linearly one more time between those two intermediate values using the target's y-coordinate. The net result is mathematically equivalent to fitting a flat, saddle-shaped surface through the four corner points and reading off its height at (x, y) — it will never overshoot above the highest corner value or below the lowest one.
- Enter x1 (left).
- Enter x2 (right).
- Enter y1 (bottom).
- Enter y2 (top).
- Enter z at (x1, y1).
- Enter z at (x2, y1).
- Enter z at (x1, y2).
- Enter z at (x2, y2).
- Enter target point — x.
- Enter target point — y.
- Click Calculate to see your results.
Examples
Unit square corners 10/20/30/40
For a 10×10 square with corner values 10, 20, 30, 40 (going around), the exact center point (5, 5) interpolates to 25 — the plain average of all four corners, since the center is equidistant from every edge.
Off-center point in a 2×2 square
For corners at (0,0)=0, (2,0)=10, (0,2)=20, (2,2)=30, the point (0.5, 0.5) interpolates to 0 + 0.25×(10−0) + 0.25×(20−0) + 0.0625×(30−10−20+0) ≈ 7.5 — closer to the (0,0) corner's value of 0 since the target point sits nearer that corner.
Point exactly on an edge
If the target (x, y) point falls exactly on the boundary between two corners (rather than strictly inside the rectangle), bilinear interpolation reduces to ordinary single-direction linear interpolation between just those two corners — the calculation still works, just using only half the available data.
Common mistakes to avoid
- Entering corner z-values in the wrong position — double check which corner (bottom-left, bottom-right, top-left, top-right) each z-value actually corresponds to before submitting.
- Using bilinear interpolation for a target point that falls outside the rectangle defined by the four corners — that's extrapolation, which this formula isn't designed to handle reliably.
- Assuming the interpolated surface is flat (perfectly planar) — it's only linear along each axis individually, so the combined surface can have a gentle curve or twist across the rectangle.
- Mixing up rows and columns when reading values from a lookup table, effectively swapping the x and y directions before interpolating.