Tools

Normal Map Generator

Turn a height image into a tileable normal map (GPU Sobel, 3 scales, OpenGL/DirectX) with bonus AO, curvature and roughness maps.

100% local: your files never leave your browser

Drop a height map

sample-bricks · 1024×1024 px · Choose the map to display above.

Height image
Normal map
2.00
1.0 px
1.00
0.50
0.25
Convention
Bonus maps
16 px
1.20
1.00
0.55
0.40
Export
Bit depth

About the Normal Map Generator

This free online normal map generator converts any grayscale height or bump map into a tangent-space normal map in real time on your GPU. Combine fine, medium and large details, switch between OpenGL (Y+) and DirectX (Y−) conventions, keep the result tileable, and bake extra ambient occlusion, curvature and roughness maps from the same height data. Export 8-bit or 16-bit PNG files ready for Maya, Blender, Substance, Unreal or Unity.

FAQ

Is the normal map OpenGL or DirectX?

Both: choose OpenGL (Y+, used by Maya, Blender, Unity) or DirectX (Y−, used by Unreal Engine and 3ds Max) before exporting.

Can I export 16-bit normal maps?

Yes. 16-bit PNG avoids banding on smooth surfaces and is recommended for high-quality renders.

Are my images uploaded?

No. Everything runs locally in your browser with WebGL; your files are never uploaded to a server.