The cubic Bezier curve formula is
where is the start point, is the end point, is the start handle, is the end handle, and moves from to along the curve. The formula works by blending four points with weights that change smoothly as increases. For the broader geometric intuition behind these handles, the full interactive Bezier curves tutorial compares quadratic and cubic curves with editable control points.
How the Cubic Bezier Curve Formula Weights Four Points
The point is the curve position for one value of . The same formula applies to 2D coordinates, 3D coordinates, or any point type where coordinates can be multiplied by numbers and added together. For a 2D curve, compute the coordinate with the four weights, then compute the coordinate with the same four weights.
The four cubic basis weights are:
| Weight | Multiplies | Meaning |
|---|---|---|
| Dominates at the start of the curve | ||
| Pulls strongest near the first part of the curve | ||
| Pulls strongest near the last part of the curve | ||
| Dominates at the end of the curve |
Those weights always add to . At , the weights are , so the curve is exactly at . At , the weights are , so the curve is exactly at . Halfway along the parameter, at , the weights are . That middle sample shows why the interior handles matter: and together have most of the influence through the center of the segment, even though the curve usually does not pass through either handle.
The cubic panel shows the practical difference between the two interior handles. Dragging changes how the curve leaves because the start tangent points in the direction from toward . Dragging changes how the curve arrives at because the end tangent points in the direction from toward . The sample slider makes the changing basis weights visible: has more influence earlier, has more influence later, and the endpoints take over at the extremes.
What P0, P1, P2, P3, and t Mean
is the start endpoint. The curve touches this point when . In SVG paths, fonts, vector editors, and animation tools, this is the first anchor of the cubic segment.
is the end endpoint. The curve touches this point when . Together, and define the visible segment’s endpoints.
is the start handle. It controls the initial direction and strength of the curve as it leaves . Moving farther away from makes that starting pull stronger. Rotating it around changes the start tangent direction.
is the end handle. It controls the approach into . Moving changes the end tangent independently from the start tangent, which is the main practical advantage of a cubic curve over a quadratic curve. With two handles, a single segment can form S-curves, soft UI motion paths, font contours, animation paths, and vector drawing shapes that would otherwise need multiple simpler segments.
is the normalized curve parameter. It runs from to , but it is not usually the same thing as distance along the curve. Equal steps in can produce unequal distances in screen space, so rendering and animation code may still need sampling, subdivision, or timing control depending on the use case. To move an object at a steady speed, the timing has to follow arc length, and the sibling page on the Bezier curve arc length formula shows how to compute and invert that length.
If you only need one interior handle, the sibling page on the quadratic Bezier curve formula shows the simpler three-point equation.