Drop Shadow
drop-shadow
The drop-shadow parameter turns the shadow on and sets its blur, in pixels from 0 to 100. 0 gives a hard edge. For drop-shadow-type=cast it is the blur where the shadow meets the subject, which then softens with distance.
There is no default — without drop-shadow, no shadow is drawn.
The Canvas Grows
w and h size the picture; the shadow is added outside it. Each side grows by 3 x the blur, plus or minus the offset, so a 500 px wide image with drop-shadow=10 comes back 560 px wide. This is expected, and it is the single most common support question about this parameter.
drop-shadow-type=inset and the mark-drop-shadow-* forms never change the output size.
A cast shadow can grow the canvas a great deal with a low light angle or high softness — a 1200x1500 photo can reach roughly 2900x1600. Past the 8192 px limit the shadow is cut off.
Behavior
A negative or non-numeric value draws no shadow and is left out of the X-Imgix-Params response header. A value above 100 is drawn as 100 but still listed as sent. Bad values never produce an error.
The shadow is applied last, to the finished image, so mark, txt, blend, append, pad, border and mask all cast together with the picture. mask=corners therefore gives a rounded shadow, and a colored pad casts a box-shaped one.
dpr multiplies the blur, the offsets, the spread and the growth, so w=150&dpr=2 is exactly twice w=150.
On animations every frame gets its shadow and all frames keep one size.
Existing URLs Changed on October 13, 2026
drop-shadow existed before this release, undocumented, and had drawn no shadow since 2021 — it only added N px of empty border per side. Those URLs now draw a real shadow and grow by 3 x N per side instead, so output is larger than it was. drop-shadow=0 used to do nothing and now draws a hard shadow, visible with an offset or spread. On JPEG the added area is now white and bg=ffffff appears in X-Imgix-Params. Cached copies keep the old look until they expire.

