NormalMap

Height Map to Normal Map Converter

Convert a grayscale height map or displacement map into a tangent-space normal map.

Quick answer: Upload a grayscale height or displacement map, set Strength to about 2, and download the converted tangent-space normal map as a PNG - free, in-browser.

Drop an image or click to upload

Height map or photo → normal map. Runs locally.

OpenGL (Blender, Unity) uses Y+ up (default). DirectX / Unreal may need the green channel flipped.

Input

No image

Normal map

Core facts
Price100% free, no sign-up
InputGrayscale height / displacement map
OutputTangent-space normal map (PNG)
ProcessingLocal in your browser - no upload

What is Height Map to Normal Map?

A height map (also called a displacement or elevation map) stores surface height as grayscale values, where white is high and black is low. A normal map stores the same surface as a direction per pixel, which is what a game engine or 3D renderer actually uses for lighting. This converter turns a height map into a normal map by computing the slope between neighbouring height pixels and encoding the resulting direction as RGB.

Common Uses for Height Map to Normal Map

  • Turn a displacement map exported from ZBrush or Substance into a normal map
  • Reuse an existing bump or height texture as a normal map
  • Prepare height maps from World Creator / Gaea for a game engine
  • Convert a grayscale tile pattern into a lighting-ready normal map

Height map resolution vs normal map quality

The normal map inherits the resolution of the height map. An 8-bit height map gives 256 height steps, which can cause visible banding on smooth slopes - use 16-bit height maps where possible and export a higher resolution. For tiling surfaces, 2048px is a good balance between detail and memory.

Choosing the right strength for displacement data

Displacement maps from sculpting tools often carry very fine detail, so a lower strength (1.5-2) with light smoothing reads better than a high strength that exaggerates every pore. For hand-drawn height maps with broad shapes, a higher strength (3-4) gives a clearer bevel and edge.

Frequently Asked Questions

What strength should I use for a height map?
Start around 2 and adjust visually. A height map with a wide tonal range needs less strength than a low-contrast one. If the surface looks flat, increase; if it looks noisy, decrease and add smoothing.
Does a height map need to be grayscale?
A true height map should be grayscale - colour channels are ignored and averaged to luminance. If your map is colour, convert to grayscale first in an image editor for predictable results.
Will the normal map be seamless?
Yes if your height map tiles seamlessly. The converter samples the opposite edge for border pixels, so a properly tileable height map produces a tileable normal map.

More Normal Map Tools

More Normal Map Tools