This website lets you create normal maps from height maps for free.
All normal map textures you create are your own.
Textures are not saved on the server and all scripts are running on your Browser.
Just drag & drop a heightmap in the specified field and adjust settings.
Afterwards check the preview window and download your own normalmap.
Additionally you can adjust and download displacement and ambient occlusion maps
The preview window shows a 3D-model with several different maps.
Each map can be enabled/disabled and the preview model can be adjusted.
If you have further questions, just give feedback to the mail-adress on the webpage.
Normal Maps are textures that inherit depth information of a surface.
They don't change the structure of the model and have nearly no impact on performance.
Each pixel represents a normal vector and is composed of three colors.
These colors are representing the direction of the normal vector.
They can enhance the optical illusion of depth significantly and
are especially useful on flat surfaces, that have several bumps or
As shown on the right, the elevation described by the height map can be converted to a normal map, that can be read from your graphics card inside the shader units.
When aiming for a more drastical illusion in depth, where parts could be occluding the model, you should try displacement maps
These maps really alter polygons but could decrease performance significantly!
With this you can create maps for multiple height maps all at once.
Try it out and give feedback!
This texture contains the distance "height" from "floor".
The brighter the pixel, the further away (more depth).
In this application it doesn't matter if the values are inverted because you can change it anytime later on.
The most important thing though, is the value difference between the pixels.
Ideal is a texture with pixel dimensions with a power of 2 (2, 4, 8,..., 256, 512 etc.)
If using a height map as a displacement map,
you can easily see the effects on the surface.
An example heightmap (left), bumps going in (top-right)
and bumps going out (bottom-right) are shown in the image below.
NormalMaps from photos
To generate normal maps from photos, you need four specific pictures of the same surface. Each picture needs a different lighting position.
The light should shine from the top, left, right and bottom of the image.
For this you need a simple camera, a flashlight and optionally a tripod.
If you don't use a tripod you probably have to align and crop the pictures before using them.
Drag&drop the pictures on the four positions inside the left viewport.
You can also click on each image to select a file.
Keep in mind that the light origin, shown inside the viewport, is in the center!
Also, all of the four pictures must have the same resolution.
As a result a pretty decent normalmap is generated from the pictures (of my bath rug...).
Readjust the values afterwards for better results.
Best try capturing the surface with a tripod and don't forget to capture an additional image for the diffuse map!