Height map to normal map

Convert a grayscale height map into a tangent-space normal map for 3D work — strength and tiling options.

The image stays in this browser. Nothing is uploaded or stored.

Sobel gradients over the luminance, packed as tangent-space normals (flat = #8080ff). Heightmaps work best — bright = raised. Strength 1-4 is typical. Output is always PNG. Max 40 MP.

How to use

  1. Choose a height-map image.
  2. Set strength and wrap.
  3. Download the normal map PNG.

What it supports

Sobel-gradient height→normal conversion, OpenGL convention (+Y up, +X right). Strength scales the slope; wrap makes edges seamless for tiling textures. Output is PNG at the input's size, up to 40 million pixels. Not a displacement or bump map — those need different semantics.

Related tools

Related guides