Ir para o conteúdo principal

HEIGHT MAP CONVERSION TOOL

Height Map to Normal Map Generator

Convert grayscale height information into a tangent-space normal map with predictable controls for contrast, blur, strength, and Y direction.

Free to useBrowser-basedExportação PNG

Free local converter

Use this converter directly on the page.

No account is required. Upload a source, adjust the controls, and export the map when the preview looks right.

Ferramenta do navegador·Sem envio para o servidor

Turn grayscale height into a normal map.

Treat light pixels as height, calculate local surface directions, and preview the result before exporting a lossless PNG.

Processado no navegador
stone-sample.png

Envie um height map em tons de cinza ou escolha um exemplo para começar.

Preparando exemplo de Pedra…
Superfície de prévia
Exportação PNGConversão baseada em alturaSem cadastroVer saídas compatíveis

How to use this converter

From source pixels to a usable normal map.

Keep the important decisions visible: source quality, surface strength, renderer direction, and the final lit result.

  1. 01

    Upload grayscale data

    Drop in the height map or use a sample. The converter reads luminance values as relative surface height.

  2. 02

    Set the scale

    Adjust Strength and Contrast so the normal map describes the intended relief without making the surface look swollen.

  3. 03

    Remove unwanted noise

    Use a small Blur value when the source contains compression artifacts, isolated pixels, or high-frequency noise.

  4. 04

    Match the green channel

    Select Blender, Unity, or Unreal, then download the Normal PNG once the 3D preview looks correct.

Prepare your height map

A grayscale height map gives the converter a clearer signal than a color photo because brightness is intended to represent surface elevation.

  • Use white-to-black grayscale values as relative height
  • PNG, JPG, JPEG, or WebP files up to 12 MB
  • Avoid baked shadows that do not represent actual elevation
  • Use Blur to reduce pixel noise before calculating normals

Use the normal map in your renderer

Choose the tangent-space direction for your engine, inspect the lit result, and export a PNG that can be connected to your material graph.

  • Normal map derived from local height gradients
  • Height and Displacement previews for comparison
  • AO preview for crevice and contact detail
  • Roughness, Metallic, Specular, and ORM starting points
  • Blender, Unity, and Unreal workflow presets

A generated normal map changes lighting response; it does not recover true geometry, remove baked shadows, or correct a perspective-heavy photograph. Validate the exported map in the target material and at the scale where it will be rendered.

FAQ

Dúvidas antes de exportar?

Use these answers to choose a better source, engine direction, and export workflow for your material.

How does a height map become a normal map?

The converter compares neighboring luminance values to estimate the slope of the surface in two directions. Those slopes are encoded as RGB normal directions for real-time lighting.

Does a height map need to be completely grayscale?

A grayscale image is the clearest input because each pixel directly represents relative height. Color images can still be converted, but their luminance may include color or lighting information that is not physical depth.

Why is my height map normal map too strong?

Lower Strength or Contrast first. If the source contains sharp pixel noise, add a small amount of Blur and inspect the 3D preview again.

What is the difference between height and normal output?

Height remains grayscale elevation data. Normal output stores the local surface direction in RGB, which is usually the direct input expected by a real-time material shader.

Which Y direction should I use for a height map normal?

Use the convention expected by the target renderer. Blender typically uses OpenGL orientation, while many Unity and Unreal setups use DirectX-style green-channel orientation.

Can a height map normal replace displacement geometry?

No. A normal map changes lighting response without changing the silhouette or mesh geometry. Use true displacement or a suitable geometry workflow when the surface outline must change.