NormalMapGenerator.net

Normal Map Tools

Choose the workspace that matches the data you actually have. Generation, conversion, inspection, combination, tiling, and batch export solve different problems and preserve different kinds of information.

Start with the data you haveHeight data → converter. Color texture → estimator. Existing normal → viewer or converter.
Use a height map
Normal generator

Free Online Normal Map Generator

Create normal maps from height maps, textures, or photos in your browser. Tune strength, preview in 3D, and export lossless normal and PBR texture files locally.

Height converter

Convert a Height Map to a Normal Map

Convert a grayscale height map to a tangent-space normal map. Compare Sobel and Scharr, control depth, invert height, choose Y direction, and export PNG.

Image estimator

Generate a Normal Map from an Image

Turn a color texture or image into an estimated normal map with luminance controls, denoising, edge detail, live comparison, and local browser processing.

Four-light capture

Create a Normal Map from Four Photos

Build a normal map from four aligned surface photos lit from the top, bottom, left, and right. Validate exposure, alignment, direction, and output quality.

Material photo estimate

Normal Map from Photo

Create an estimated tangent normal from a single material photo. Crop, correct perspective and reduce broad lighting locally in your browser. Export PNG.

PBR set

Online PBR Map Generator

Generate a coordinated PBR texture set from one source: normal, height, displacement, ambient occlusion, roughness, and specular maps with honest controls.

3D inspector

3D Normal Map Viewer

Inspect a normal map on a plane, sphere, cube, or cylinder. Rotate lighting, change UV tiling, compare Y conventions, and diagnose seams or inverted detail.

Convention converter

Normal Map Converter: OpenGL and DirectX

Convert normal maps between Y+ and Y− conventions, flip red or green channels, renormalize vectors, inspect the result, and download a lossless file.

Vector-safe combiner

Combine Two Normal Maps

Combine a broad base normal map with a tiled detail normal map using reoriented normal mapping. Control strength, scale, masks, and output convention.

Seamless workspace

Seamless Normal Map Generator

Create a tileable normal map with wrap-aware filtering, offset inspection, edge blending, repeated-grid preview, and lossless export for repeating materials.

Batch queue

Batch Normal Map Generator

Process multiple height maps or textures with one preset. Review the queue, preserve filenames, isolate failures, and export generated normal maps in a ZIP.

Sprite normals

Pixel Art Normal Map Generator

Create alpha-aware sprite normals while preserving pixel detail. Shape silhouette bevels, move the preview light, and export PNG locally in your browser.

Procedural water

Water Normal Map Generator

Generate seamless procedural water normals with waves and fine ripples. Choose OpenGL or DirectX, inspect animated tiling, and export PNG in your browser.

Normal diagnostics

Normal Map Validator

Check vector lengths, seams, alpha edges and compression signals with this normal map validator. Inspect both Y conventions locally in your browser.

Normal repair

Normal Map Fixer

Repair normal vectors, flip X or Y, rebuild positive Z and clean transparent edges. Compare diagnostics before and after, then export a lossless PNG locally.

Scalar bump

Bump Map Generator

Create grayscale bump textures from local images. Adjust levels, gamma, contrast, blur and detail, preview relief, and export true 8-bit or 16-bit PNG.

Input and output decision matrix
Starting dataBest workspacePrimary outputImportant limitation
Grayscale heightHeight converterTangent normalRelative scale only
Color texture or scanImage estimatorEstimated height + normalLighting can become false relief
Existing tangent normalViewer / converterValidated or converted normalConvention cannot be guaranteed from color
Base + microdetail normalsRNM combinerNormalized compositeInputs need matching tangent meaning

Your source image is processed locally in this browser and is not sent to our application server.

A reliable workflow

Start from the data, not the tool name

Use the height converter when pixels already represent elevation; use the image estimator only when luminance must stand in for elevation.

Height gradient to RGB normal directionA grayscale height change becomes horizontal and vertical gradients, then a normalized vector encoded into RGB.1 · HEIGHT2 · GRADIENTdx + dy + level Z3 · RGB NORMALnormalize → 0…255
1

Separate inspection, conversion, and blending

The converter edits imported normal vectors, while the combiner layers two decoded vector fields and the viewer changes neither.

2

When seamless and batch modes make sense

Seamless and batch workspaces change sampling and orchestration respectively, so they cannot be reduced to generator presets.