TOOLS › SHADOW GENERATOR
FREE · NO SIGN-UP · RUNS IN YOUR BROWSER

Pixel Art Shadow Generator

Add a drop shadow to a sprite, a ground shadow under its feet, or both. Crisp whole pixels, no blur, colour and opacity of your choosing. Drop a transparent PNG and tweak it live.

1 · YOUR SPRITE

DROP, PASTE OR BROWSE
PNG with transparency · up to 4 MP
This image has no transparent pixels, so the shadow would be a copy of the whole canvas. Run it through the background remover first, then drop the result here.

2 · SHADOW

DROP SHADOW

On: every shadow pixel is the same colour and opacity. Off: a 1 px stepped soft edge at half opacity, still whole pixels, no blur.

GROUND SHADOW

0 centres the ellipse on the sprite's bottom row, so half of it tucks under the feet. Push it down for a hovering look. Width is a percentage of the sprite's width.
The shadow always sits below the sprite: sprite pixels win wherever the two overlap. The canvas grows only as far as the shadow needs.
Result appears here
NOTHING HERE YETDrop a sprite with a transparent background on the left. The shadow appears at once, and every slider re-draws it.

How it works

Drop a transparent sprite

Any PNG with a transparent background: something you drew, an asset-pack sprite, or a SpriteLab generation. The silhouette is what the shadow is built from.

Pick the shadow type

Drop shadow offsets a copy of the silhouette. Ground shadow draws a flat ellipse under the feet. Both stacks them. Every slider re-draws the result as you move it.

Download, or keep going

Save the PNG. The canvas grows only if the shadow needs the space. Or hand the sprite to the app to animate it or reskin it, shadow included.

Shadows that stay pixel art

A blurred shadow under a pixel sprite is the fastest way to make it look pasted on. Every shadow this tool draws is made of whole pixels at a flat opacity, so it sits in the same world as the sprite. The drop shadow is the exact silhouette moved by a few pixels; the ground shadow is a pixel ellipse, the kind you would draw by hand.

Two things to watch. Keep the offset small, 1 to 3 pixels for a 32 px sprite, or the shadow reads as a second character. And in a game, a baked-in ground shadow moves with the sprite, which is right for a standing pose and wrong for a jump; for animations, bake the ground shadow into a separate sprite you can leave on the floor. The controls in short: mode picks the shadow type, offsets move it, colour and opacity tint it, hard pixels keeps the edge clean.

FAQ

Is the shadow generator free?

Yes. It runs in your browser, nothing is uploaded and there is no account. Use it on as many sprites as you like.

Why does the sprite need a transparent background?

The shadow is a copy of the sprite's silhouette, and the silhouette is the edge between opaque and transparent pixels. On a flat image the whole rectangle is the silhouette, so you would get a shadow of the canvas. Run it through the free background remover first.

Drop shadow or ground shadow?

A drop shadow copies the whole silhouette offset by a few pixels, which reads as the sprite lifted off a flat surface. It suits icons, UI and items. A ground shadow is a flat ellipse under the feet, the standard way to anchor a character or an object to the floor in a top-down or side-on game. Both at once works for something hovering just above the ground.

What does hard pixels do?

On, every shadow pixel has the same colour and the same opacity, so the shadow is a clean shape with no gradient. Off, the silhouette grows by one pixel at half opacity, still stepped in whole pixels, which gives a softer edge without blur. Blurred shadows do not belong on pixel art, so there is no blur option.

Will the canvas size change?

Only if the shadow needs the room. The canvas grows just enough to fit it, and the sprite stays where it was relative to the top-left corner whenever the shadow extends right or down. A shadow that pushes left or up has to add pixels on that side, which shifts the sprite by the same amount.

More free tools

In the app

Open SpriteLab to keep building with your sprites.