Normal maps are essential for 3D graphics and game development, adding surface detail without extra polygons. This guide explains what normal maps are and how to generate them from any image online.
โก Try It Free โ No Signup
Works instantly in your browser. No account, no install.
Generate Normal Map Free โWhat Is a Normal Map?
A normal map is a texture that stores surface orientation information encoded as RGB colors. The RGB channels represent X, Y, Z direction vectors (normals) of a surface. When applied in a 3D renderer, normal maps simulate fine surface detail โ bumps, grooves, scratches โ using lighting calculations, without adding geometric complexity.
The neutral (flat surface) color of a normal map is #8080FF โ a medium blue-purple.
Normal Map Color Meaning
| Channel | Direction | Value Range |
|---|---|---|
| Red (R) | X axis (left/right) | 0โ255 (128 = neutral) |
| Green (G) | Y axis (up/down) | 0โ255 (128 = neutral) |
| Blue (B) | Z axis (depth) | 128โ255 (always positive) |
OpenGL vs DirectX Normal Maps
There are two conventions for the Y-axis direction:
- OpenGL: Green = up (used in Blender, Unity with certain settings, most game engines)
- DirectX: Green = down / Y flipped (used in DirectX, some older tools)
The tool has a "Flip Y" toggle to switch between conventions. If your normal map looks inverted, try toggling this.
How Normal Maps Are Generated
Our generator uses the Sobel operator โ a gradient-detection filter that computes rate of change in X and Y directions across the heightmap. Bright areas are treated as raised surfaces; dark areas as recessed. The gradients are normalized to tangent-space RGB.