Skip to main content

Height Map Generator

Turn any photo or texture into a height map, white for high and black for low. AI reads the shape of the surface instead of its brightness, so stains and shadows stay flat. Download a 16-bit PNG for displacement, parallax and terrain in Blender, Unreal and Unity.

Sample: Stone

Photo
Cobblestone pavement, the sample texture
Height map
Height map of the cobblestones, raised stones in white
3D preview
Cobblestone material ball lit in 3D
Detail, roughness, AO and single-map downloads

Bump detail

Size

Roughness and AO

Download one map

AI photo mode: shape read from the photo, shadows stay shadowsRuns in your browser. Images never leave your device.

An AI Height Map Generator That Reads Shape, Not Brightness

Most height map generators copy the brightness of the photo, so pale mortar comes out high and dark bricks come out low. Drag the line across this brick wall to compare. The AI height map rises on every brick and drops into every joint, while brightness follows the colors.

Red brick wall with pale mortar
HighLow
  • AI photo mode
  • Brightness as height

What Is a Height Map?

Grayscale height map of cobblestones with white stones and black gaps

Grayscale depth, one value per pixel

A height map is a grayscale image that stores how high the surface is at every pixel: white is the highest point, black the lowest and mid gray sits halfway. Renderers read it to push vertices out as displacement, game engines use it for parallax and terrain, and a normal map is built from its slopes. A height map generator makes one from a photo, so you skip sculpting it by hand.

  • White is high, black is low, gray in between
  • One channel, so 16 bits per pixel keep slopes smooth
  • The source of normal, bump, displacement and AO maps

Height Map vs Normal Map

Both describe the same bumps. The height map stores how high each point is, the normal map stores which way it faces. The height map generator gives you both from one image.

  • Looks like

    Height map
    Grayscale, white is high
    Normal map
    Purple blue, colors show slope direction
  • Stores

    Height map
    Height per pixel
    Normal map
    Surface direction per pixel (X, Y, Z)
  • Moves geometry

    Height map
    Yes, as a displacement map
    Normal map
    No, only changes the lighting
  • Used for

    Height map
    Displacement, parallax, terrain, bump
    Normal map
    Real-time detail in game engines
  • Best format

    Height map
    16-bit PNG
    Normal map
    8-bit PNG, OpenGL or DirectX

16-bit Height Maps without Stair Steps

An 8-bit PNG has 256 gray levels. Stretch them over a deep displacement and each level turns into a visible step, the terracing that ruins smooth slopes. A 16-bit PNG has 65,536 levels. Here is the same smooth hill saved both ways and lit from the side. Every map from this height map generator downloads as 16-bit.

  • The same hill from a 16-bit height map, perfectly smooth
    Smooth hill from an 8-bit height map with rings of stair steps
    8-bit16-bit

Use Your Height Map in Blender, Unreal and Unity

The 16-bit PNG works anywhere a grayscale height is accepted. Load it as non-color data so the renderer reads the values as they are.

  • Blender

    Image Texture set to Non-Color, into the Height input of a Displacement node, into the Displacement socket of the Material Output. In Cycles, set the material to Displacement and Bump and subdivide the mesh.

    Displacement node · Non-Color
  • Unreal Engine

    Import it as a landscape heightmap for a terrain patch, or feed it to the Parallax Occlusion Mapping node for depth on a flat wall. Untick sRGB on the texture.

    Landscape · Parallax Occlusion
  • Unity

    Put it in the Height Map slot of a URP Lit or Standard material for parallax, or use it as the height map of an HDRP Lit material with displacement turned on.

    Height Map slot · Parallax
  • Terrain and sculpting

    Rocks, sand, bark and ground photos become terrain stamps and sculpting alphas for Gaea, World Machine or ZBrush. The shape comes from the photo, not from real elevation data.

    Stamps · Alphas

How to Make a Height Map from an Image

From any photo to a 16-bit height map in four steps. The cobblestone sample is already open in the height map generator, so you can test every setting first.

  1. 1

    Open a photo of the surface

    Upload, drop or paste a photo or texture, or take one with your phone camera. Several images at once make a batch.

  2. 2

    Let AI read the shape

    AI photo mode reads the surface of a real photo. Switch to image mode for a scan or texture where bright already means high.

  3. 3

    Set depth and detail

    Strength sets the depth. Large, Medium and Fine balance big shapes against small grain. In image mode, Invert height flips high and low.

  4. 4

    Download the 16-bit PNG

    Save the height map as a 16-bit grayscale PNG, or take the ZIP with normal, roughness and AO maps made from the same shape.

Height Map Generator FAQ

Concrete material ballCrocodile skin material ballCobblestone material ballWood planks material ballLeather material ball

Make Your Height Map Now

Drop in a photo and get a 16-bit height map, plus normal, roughness and AO maps from the same shape. Free, in your browser.

Upload an image