Height & Bump to Normal Map Converter

Convert grayscale height or bump data into a tangent-space normal map with explicit slope and Y-orientation controls.

Upload and preview without signing in. Sign in to download 256px and 512px PNGs. Mapper+ unlocks 1K, 2K, original-resolution export, and all six non-albedo PBR maps in one workspace.

Height or bump source to Converted normal map

Upload and preview height or bump data as an OpenGL or DirectX normal map without signing in, then sign in to export a 256px or 512px PNG locally.

Privacy: image decoding, pixel processing, preview, and PNG download run locally in the browser.

How do you convert a height map to a normal map?

Height-to-normal conversion calculates the change in neighboring grayscale values. Horizontal change becomes the tangent-space X component, vertical change becomes Y, and Z points away from the surface. The three components are normalized and encoded into RGB. This route converts height and bump sources; use Normal Map Fixer to flip or repair an existing normal map.

Expected input
Grayscale height or bump
Output
Normalized tangent vectors
Orientation
OpenGL Y+ or DirectX Y-
Existing normal fixes
Use Normal Map Fixer

How to use the Height to Normal Map Converter

  1. Use height, not lighting

    White should represent one elevation direction and black the other. Remove cast shadows or color variation that does not describe relief.

  2. Control the derivative

    Strength sets slope response. Blur and detail decide how much small grayscale variation becomes surface direction.

  3. Match the renderer

    Choose the green-channel convention required by the final engine or interchange format.

  4. Check the final mesh

    Test the converted map with the shipping UVs, tangents, compression, and lighting before approving it.

Height conversion and normal repair are different jobs

Choose the route by the data already stored in the file.

Height conversion and normal repair are different jobs
Input you haveCorrect operationUse this page
Grayscale height mapCalculate X/Y gradients and encode tangent normals.Yes
Legacy bump mapTreat brightness as relative elevation, then calculate tangent normals.Yes
Existing purple-blue normal mapFlip green or normalize the vectors without deriving new relief.Use Normal Map Fixer
Object-space normal mapConvert with mesh-aware tangent-basis data.No; this browser tool targets tangent space

Height to Normal Map Converter FAQ

Is a bump map the same as a normal map?

No. A bump or height map stores one scalar value per pixel. A tangent-space normal map stores a three-component direction in RGB.

Does white mean raised or recessed?

This converter treats brighter source values as higher relative elevation before applying the selected orientation. If the source uses the opposite height convention, invert it before conversion.

Can this page convert DirectX normals to OpenGL?

Use Normal Map Fixer for an existing normal map. That operation inverts the green component and can normalize invalid vectors without rebuilding them from grayscale.

Does conversion preserve the source aspect ratio?

Yes. Every export preserves the source aspect ratio. Free accounts can choose a 256px or 512px maximum dimension; Mapper+ can also export at 1K, 2K, or the original dimensions.

Is the Height to Normal Map Converter free?

Yes. As of August 26, 2026, the Height to Normal Map Converter is free after sign-in. Free accounts can process images in the browser and export 256px or 512px PNG files.

Which Height to Normal Map Converter export sizes require Mapper?

Exports above 512px require Mapper or a higher plan. Mapper+ unlocks 1K, 2K, and original-resolution export in the standalone tool, plus the full PBR Map Generator for creating normal, height, roughness, metallic, ambient occlusion, and emission maps together.