Image estimator

Generate a Normal Map from an Image

Color does not contain literal depth, so this workspace converts luminance into an editable height estimate. Directional shadows, highlights, painted edges, and albedo variation can all become false relief unless you prepare the source.

Image estimatorChoose a PNG, JPEG, WebP, or BMP (up to 50 MB).
Local image processing
Drop an image hereChoose a PNG, JPEG, WebP, or BMP (up to 50 MB).Local image processing

A reliable workflow

Pick the channel that carries structure

Perceptual luminance weights green most strongly; channel modes are useful when one channel isolates material structure better than the composite.

Height gradient to RGB normal directionA grayscale height change becomes horizontal and vertical gradients, then a normalized vector encoded into RGB.1 · HEIGHT2 · GRADIENTdx + dy + level Z3 · RGB NORMALnormalize → 0…255
1

Remove broad lighting before estimating relief

Broad illumination should usually be removed before fine relief is extracted, otherwise the virtual surface leans toward the photographed light.

2

Blur noise without erasing the material

Denoising before gradients suppresses pixel noise, but too much blur removes real pores, grain, and bevel transitions.

3

Decide what brightness means before estimating depth

An image to normal map conversion is an interpretation, not a depth measurement. First identify whether luminance, a single color channel, or alpha best follows the surface structure. Paint, stains, reflections, and cast shadows can be mistaken for height, so remove broad lighting gradients and mask unrelated color where possible. Compare the generated image to normal map result with a known raised or recessed feature. If the source cannot support a consistent high-versus-low reading, create a dedicated height map instead of increasing strength until the preview looks dramatic.

4

Control noise without polishing away the material

Fine JPEG blocks and camera noise create alternating gradients that become sparkle in an image to normal map result. Add only enough pre-blur to suppress detail smaller than the intended texel footprint, then inspect both full resolution and a reduced view. Scharr is a sound general choice for balanced diagonal response, while Sobel may be useful when matching an established pipeline. Export lossless PNG and verify the image to normal map output in the destination renderer; the purple thumbnail cannot reveal an incorrect Y convention, color-space transform, or tangent mismatch.