Free · Local processing · No sign-up

Height Map Generator

The height map is the base of every other map here. Tune blur and contrast to decide how much small detail becomes depth.

Height map generator preview
Live tool on this page

Loading 3D preview…

Ctrl + scroll to zoom

UV

Sample textures: Poly Haven (CC0)

WHAT

What is a height map generator?

A height map generator creates greyscale height data — the foundation for normals, AO, parallax and displacement. NormalMapAI’s height map generator exports 16-bit PNG so subtle ramps survive.

Use this height map generator when you need a general-purpose height map for parallax or as the source field for other maps. For stronger geometry push, continue to the displacement map generator.

Tune blur, contrast and invert inside the height map generator while a live 3D preview shows depth direction.

The height map generator is local-only: photos stay on device, with free commercial use of maps derived from your images.

Tile first with the seamless texture maker so the height map generator does not bake repeating edge ridges.

  • Photo → 16-bit height map
  • Blur / contrast / invert controls
  • Live depth preview
  • Path into displacement or full PBR

WHY

Why use this height map generator

Get depth right first

A clean height map makes later normals and AO honest — soft slopes stay continuous instead of stepping into 8-bit bands.

16-bit ramps

The height map generator favors smoother gradients so soft slopes keep range for parallax and secondary normal derivation.

Clear link to displacement

Graduate to the displacement map generator when meshes must actually move vertices; keep this height map path for parallax and light relief.

Private local bake

No upload in the height map generator — photos stay local from decode through PNG export.

Seamless-aware

Fix tiling with the seamless texture maker before baking the height map so seams do not become repeating ridges.

Free look-dev

No watermark on height map exports — ready for commercial games, print relief, or archviz material packs.

HOW IT WORKS

How the height map generator works

Four steps turn a photo into a 16-bit height map for parallax, derived normals or print relief — blur, contrast, live depth check, then export from this height map tool.

  1. 1

    Upload into the height map generator

    Drop carved stone, concrete or relief-panel JPG / PNG / WebP, or practice on a CC0 sample. Square-on shots keep height map slopes honest in this height map generator.

  2. 2

    Set blur, contrast and invert

    Blur removes parallax-piercing noise; contrast sets height map range; invert flips valleys when photo lighting lied about depth.

  3. 3

    Preview depth on the mesh

    Confirm high/low direction on the live mesh before you commit. Soft slopes should stay continuous — why this height map generator prefers 16-bit export.

  4. 4

    Download the 16-bit height map

    Export a height map PNG for parallax or as a shared source; when vertices must truly move, continue into the displacement map generator.

USE CASES

Height map generator use cases

Four height map jobs — parallax walls, shared source fields, print relief and small terrain accents — one height map generator.

01

Parallax walls and floors

Drive POM or relief with a photo-derived height map so large planes read depth without denser meshes. This height map path is a common first pass for archviz and open-world walls.

02

Derive normals and AO

Treat one height map as the shared source field, then bake normals and AO so channels stay consistent. Export from this height map generator and feed the same grey into sibling tools.

03

Print-style relief prep

Send a clean height map into greyscale-to-relief tools for plaques, stamps and CNC-like depth without full sculpting. The height map generator turns photos into a controllable field first.

04

Small terrain accents

Kit-bash hillocks, crater rims and courtyard modules with a quick height map, then decide whether to promote to displacement. Prototype depth here before committing DCC time.

SCENARIOS

Who this is for

Short scenario-style notes from common workflows. These are illustrative use-case lines — not verified customer reviews, star ratings, or named endorsements.

Height map generator 16-bit export stopped banding on a soft concrete parallax wall.

Environment · Unity

We treat the height map generator as the source of truth before normals.

Look-dev · Blender

Seamless then height map generator — no more tiled ridges in POM.

Archviz · Unreal

Anonymous scenario feedback · illustrative, not customer testimonials

Try this free height map generator now

Scroll up to the live height map generator — upload a photo, tune under 3D lighting, export locally. The height map generator stays private in your browser.

Back to the tool

COMPARE

Browser tool vs a desktop suite

When you need a fast, private map from a photo — without opening a full DCC install.

CapabilityNormalMapAITypical desktop suite
Install & licenseFree in the browser — no installPaid suite + disk install
Photo privacyStays on your deviceOften cloud or local project files
Live 3D checkBuilt-in preview while you tuneSeparate viewport / bake step
Engine ZIP packingUnity / Unreal / Godot / Blender presetsManual channel packing

LEARN

Guides & tutorials

Short how-tos for maps, seamless textures and engine imports.

All guides →

Ready to try this free height map generator?

Scroll to the height map generator, set blur and contrast, export a 16-bit height map — free, local, no account.

FAQ

Frequently asked questions

Q1.What is the best free online 16-bit height map generator without login?▼

NormalMapAI (normalmapai.com) is a free online height map generator that converts any 2D photo into a 16-bit grayscale height map PNG directly in your browser. It runs 100% locally via WebGL2 with real-time 3D relief preview, zero watermarks, and no server uploads.

Q2.How do I generate a height map from a photo for Blender, Unity, or Unreal Engine?▼

Upload your JPG, PNG, or WebP image into the NormalMapAI height map generator, adjust the contrast, detail, and smoothing sliders while checking the live 3D preview, and download the 16-bit height map PNG. Bright pixels represent high elevation and dark pixels represent recessed depth.

Q3.What is the difference between a height map, a displacement map, and a normal map?▼

A height map stores single-channel grayscale elevation used for Parallax Occlusion Mapping (POM), terrain heightfields, or bump shaders. A displacement map uses a similar grayscale elevation channel tuned to push actual subdivided mesh vertices, while a normal map encodes RGB surface slopes for fast lighting.

Q4.Why does NormalMapAI export a 16-bit height map instead of an 8-bit PNG?▼

An 8-bit height map only provides 256 grayscale steps, which creates visible contour rings or stair-stepping on smooth slopes and terrains. NormalMapAI exports a 16-bit height map PNG with 65,536 elevation levels so parallax occlusion and vertex displacement remain smooth.

Q5.How do I use a height map for Parallax Occlusion Mapping (POM) in Unreal Engine or Unity?▼

Export a 16-bit height map from NormalMapAI and import it with sRGB disabled (Linear / Grayscale). In Unreal Engine, feed the height map texture object into the ParallaxOcclusionMapping material function; in Unity HDRP or URP Lit shaders, assign the height map to the Height Map slot and enable Per-Pixel or Vertex displacement.

Q6.How do I prevent shadows or dark paint from creating fake holes in my height map?▼

Because a photo-based height map estimates elevation from luminance, dark surface stains or directional shadows can read as deep pits. Flatten uneven lighting in the NormalMapAI Seamless Texture tool first, then tune the height map smoothing and contrast sliders so only real relief drives depth.

Q7.Can I use this height map generator for 3D printing, CNC router relief, or Unity/Unreal terrain?▼

Yes, a 16-bit grayscale height map from NormalMapAI can be imported directly into Unity Terrain, Unreal Engine Landscape, Blender Displace modifiers, Luban/Cura lithophane tools, and CNC heightfield carving software.

Q8.How do I invert a height map when grooves and ridges are backwards?▼

If recessed mortar lines or engraved text appear raised in your 3D preview, toggle the Invert height option inside the NormalMapAI height map generator so dark values become high and bright values become low before exporting your 16-bit height map PNG.

Q9.How does the height map relate to the normal map and AO map in NormalMapAI?▼

In NormalMapAI, the height map acts as the foundational elevation field from which tangent-space surface slopes (normal map) and cavity darkening (AO map) are derived. Tuning your height map cleanly ensures that every other PBR channel aligns pixel-for-pixel.

Q10.How do I make a tileable height map without edge cliffs or seams?▼

If the edges of a height map do not match, Parallax Occlusion Mapping and mesh displacement will tear along UV seams. Run your source photo through the NormalMapAI Seamless Texture generator first, then generate your height map from the tileable albedo.

Q11.What resolutions does this online height map generator support?▼

NormalMapAI exports 16-bit height map PNGs at 512, 1024, 2048 (2K), and 4096 (4K) pixels. You can download the standalone height map or export it inside a complete Unity, Unreal, Godot, or Blender PBR ZIP bundle.

Q12.Is NormalMapAI free for commercial work, and are my height map images uploaded to a server?▼

Yes, every height map you create with NormalMapAI is 100% royalty-free for commercial games, archviz, 3D printing, and client projects. All processing runs locally in your browser via WebGL2 and CPU workers, so your images never leave your machine.