Skip to main content

Browser-based PBR tool

Height Map Generator from Image

Turn an image into a grayscale height-map starting point with private browser processing, live relief preview, and PNG export for Blender, Unity, or Unreal.

Eight map outputs

Generate a consistent map set locally, then validate it in the material system where scale and lighting are visible.

No upload requiredPNG + ZIP export

Local PBR generator

Generate a grayscale height map from an image.

Upload a material image or choose a sample, then adjust Contrast, Blur, and Strength while the height and displacement previews update locally.

Browser tool·no server upload

Generate a grayscale height map from an image.

Upload a material image or choose a sample, then adjust Contrast, Blur, and Strength while the height and displacement previews update locally.

Processed in your browser
stone-sample.png

Upload an image or choose a sample texture to start.

Preparing a Stone sample…
Preview surface
PNG exportHeight-based conversionNo sign-upSee supported outputs

Batch PBR export

Apply one material setup to a whole texture set.

Add up to 20 images, process them one at a time in this browser, and download the generated PNG maps in one ZIP. A failed image is marked separately so the rest of the queue can finish.

Batch processing·up to 20 images

Batch-generate a consistent PBR map set.

Use one Strength, Blur, Contrast, and engine direction setting across a folder of related images, then download eight PNG outputs per source.

Files stay in this browser

Drop multiple images here

PNG, JPG, JPEG, and WebP files up to 12 MB each. The browser processes them sequentially to keep memory use predictable.

No images queued yet.
Add several source textures to create a consistent PBR map set.
Sequential browser processingOne shared parameter setZIP export

Make surface elevation visible before you export

Build a practical first pass, then refine it in your renderer.

A height map stores relative elevation as grayscale values. This tool creates a practical first pass from image luminance so you can inspect relief, reduce noise, and keep the result aligned with the scale of the final material.

  • Normal RGB tangent-space directions
  • Height Grayscale relative elevation
  • AO Grayscale occlusion estimate
  • Roughness Grayscale surface response
  • Metallic Grayscale metalness starting point
  • Specular Grayscale reflection starting point
  • Displacement Grayscale height-derived detail
  • ORM R = AO, G = Roughness, B = Metallic
OutputStoresUseful for
NormalRGB tangent-space directionsSmall surface lighting detail on a mesh
HeightGrayscale relative elevationBump, displacement, or cleanup
AOGrayscale occlusion estimateCrevice and contact shading
RoughnessGrayscale surface responseGloss and highlight control
MetallicGrayscale metalness starting pointPBR material authoring
SpecularGrayscale reflection starting pointSpecular workflow inputs
DisplacementGrayscale height-derived detailMaterial displacement tests
ORMR = AO, G = Roughness, B = MetallicPacked channel workflows

Roughness, Metallic, Specular, and ORM are starting-point outputs derived from one image signal. They are not a physically accurate material scan and should be tuned against your actual lighting and shader conventions.

How to use this PBR tool

A repeatable path from pixels to material maps.

Use a grayscale height reference when possible. Evenly lit material images can work, but baked shadows, highlights, perspective, and strong color can become false height information.

Open the generator
01

Choose height-friendly input

Start with grayscale data or an evenly lit material texture where brightness is related to surface relief.

02

Shape the elevation range

Use Contrast to separate low and high areas, Strength to control derived relief, and Blur to soften isolated noise.

03

Preview at final scale

Switch between Height, Displacement, and the lit surface preview to catch harsh edges or detail that will disappear at asset scale.

04

Export a local PNG

Download the grayscale Height or Displacement output, or export the full supporting map set when the material needs it.

Private local processing

The free single-image and batch flows decode, generate, and package results in the browser. Your source images are not uploaded to a conversion endpoint.

Validate at final scale

A generated map changes lighting response but cannot recover hidden geometry, remove baked shadows, or decide the right physical material values from one image.

Good starting cases

Useful for iteration, not a substitute for material judgment.

Use the generated maps to shorten the first pass, then adjust ranges, channel packing, color space, and shader settings in the tool where the asset will ship.

Create a height-map starting point from a photo or painted texture.

Prepare grayscale relief for Blender, Unity, or Unreal materials.

Preview a displacement signal before sending it into a shader.

Process a related folder with one consistent setting in the batch tool.

Height and Displacement are grayscale PNG starting points. They can drive bump, displacement, or further normal-map work, but they cannot recover hidden geometry or true physical depth from one image.

FAQ

Questions before you export?

These answers cover output meaning, local processing, channel conventions, and the limits of deriving PBR maps from one image.

What is a height map generator?

A height map generator converts image luminance into grayscale values that represent relative surface elevation. The result is a starting image for bump, displacement, or normal-map workflows.

Can I generate a height map from any image?

Most images can produce a starting point, but grayscale references and evenly lit material textures are more reliable. Baked shadows, reflections, and perspective can be mistaken for height.

What is the difference between a height map and a normal map?

A height map stores relative elevation in grayscale. A normal map stores surface direction in RGB, so a renderer can change lighting without moving geometry. The two maps support different parts of a material workflow.

Can this tool create real 3D geometry?

No. It creates a grayscale image. Your renderer or 3D application must use that image for bump, displacement, or geometry experiments, and mesh density and scale still control the final result.

Are images uploaded while generating a height map?

No. The free conversion flow decodes and processes the image in the current browser tab. The local generator does not send the source image to a conversion endpoint.

Related tools

Continue the material workflow.

Choose the output or source type that matches the next step of your asset pipeline. Each page keeps the conversion local and links back to the complete PBR workflow.

Open the main generator