Skip to content
DepthCarve

Image to height map

Image to height map conversion with a controlled range

Create a camera-derived height starting point for relief and displacement—not a geographic terrain map. Adjust which pixels become low or high before export.

  • Relative image-based field
  • PBR and relief export paths
  • Clear depth-versus-height labeling
image to height map preview with a grayscale field and carved relief surface
Preview → range → production file

Live manufacturing workbench

Upload a photo. Preview the depth. Download your file.

Three free AI previews per day. Source checks, editing, 3D preview, and compatibility exports are free.

Sample relief depth preview

Choose a source image to begin.

Real work, real failure cost

Built around the people who pay for a bad output

The useful product is not the model call. It is the review loop that catches a reversed field, a noisy border, or an impossible relief before the next tool turns that mistake into wasted time.

01

Texture artists

Build displacement input from image structure instead of raw luminance.

02

Relief makers

Remap scene depth into a shallow physical height.

03

Game artists

Prototype parallax and surface displacement with predictable range.

01

Height is a reinterpretation of depth, not a measurement

Depth describes distance from a camera. Height describes elevation from a surface. Converting one into the other is an editorial act: you decide that the nearest object becomes the highest point, that the background becomes a flat plane, and that the intervals between them are distributed in a particular way. The conversion keeps the ordering the estimator found, and replaces everything else with your intent.

DepthCarve starts from camera-relative depth and then gives you the range controls that make the reinterpretation explicit. Inversion decides which end is raised, the black and white points decide how much of the histogram survives, and flattening removes the background so it does not consume half the available height.

02

Displacement and relief want different outputs

For a PBR or displacement workflow you want the grayscale field itself: a single channel that a shader or a sculpting tool will multiply by its own height value. Precision matters more than physical scale, because the receiving tool defines the units. A true 16-bit PNG is the right container when the surface will be subdivided finely enough to show the difference.

For a physical relief you want a closed mesh with a stated width, height, and base. That path goes through the STL exporter, which resamples the same field to a printable grid and adds walls and a bottom. Keeping both outputs from the same approved field is what makes a design reviewable: the render and the carve then differ only by the machine, not by the image.

03

When an image-based height map is the wrong tool

This is not a GIS or terrain generator. The values come from one photograph, carry no geographic coordinates, and have no automatic metric scale. A hill in the picture is only closer or farther from the camera; it is not higher in any absolute sense.

If you need real elevation, use survey or elevation data. If you need a plausible surface derived from a picture, that is exactly what this does, and the preview is the cheapest way to decide whether the picture contains enough structure to justify the work.

Five bounded stages

A file moves forward only after it earns approval

  1. 1

    Inspect

    Check source contrast, edge detail, border clutter, and resolution before an AI call is trusted.

  2. 2

    Shape

    Adjust the subject mask, background, curve, detail, smoothing, taper, frame, and real dimensions for free.

  3. 3

    Check

    Compare beam or tool size, tonal slices, slope, base, manifold topology, and bounding box with the real setup.

  4. 4

    Approve

    Approve one successful production job only after the free 2D and 3D previews earn acceptance.

  5. 5

    Transfer

    Download one verified ZIP and inspect it in LightBurn, CAM, or a slicer before committing production material.

Choose by next action

The formats are not interchangeable

OutputUse it forIt does not guaranteeCost
8-bit PNGPreview, mask, laser and compositing testsPhysical scale or machine settingsFree
Compatible 16-bit PNGCompatibility with grayscale depth workflowsAdditional source precisionFree
Preview STLLow-cost scale and import checksPrintability, tool reach, or safe G-codeFree
Production job bundleRaw EXR, true 16-bit pair, STL, preview and manifestHidden surfaces or certified metric truth1 credit

Straight answers

Questions before you commit a file

Can this create Unreal Engine terrain?

It can create an image-based grayscale field, but it does not provide geographic elevation data. Use a GIS or terrain data source when real-world coordinates and elevation are required.

How do I make the background flat?

Use the background flattening control and, where needed, the subject threshold to keep distant scenery out of the useful range. A flat border also gives a physical relief a predictable resting level.

Do I need 16-bit for displacement?

Only when the receiving surface is subdivided finely enough for the extra levels to survive the render or the mesh. For a small preview or a coarse displacement, 8-bit is usually indistinguishable and much lighter.

Can I set real-world units on the height map?

Not on the grayscale output, which is relative. Physical units belong to the STL path, where you set the width in millimetres. The receiving shader or tool decides what the grayscale range means for displacement.

Preview the idea. Pay for usable output.

Start without an account. When a professional format earns approval, use the welcome credit or choose a pack that matches the shop's workload.