Bump Map
- Stores
- Grayscale height interpreted as shading
- Changes geometry?
- No
- Rendering stage
- Shading only
- Precision / performance
- Low precision, lowest cost
- Best fit
- Older engines, procedural texturing, fast previews
Create a grayscale bump map from any image online. Adjust strength and blur, preview the result in your browser, and download a PNG without uploading the source image.
Upload a PNG or JPG up to 5 MB on the free plan, or up to 25 MB with an active Pro plan. Adjust strength, blur, and height direction, preview the grayscale result, and download the bump map as a PNG.
A bump map is a grayscale image that stores surface-height information. Brighter pixels read as raised areas and darker pixels read as recessed areas, so a renderer can shade a surface as if it had small relief. It is the oldest and cheapest way to add apparent surface detail without changing the mesh.
A bump map does not change model geometry. It only changes how light lands on the surface, so the silhouette stays the same. A displacement map is the one that can move geometry, and only when the renderer, material, and mesh subdivision support it.
Bump maps still earn their place in older game engines, procedural texturing, and quick material previews where a normal map would cost more than the target platform needs.
Turn a source texture into a grayscale bump map in three steps. The preview stays beside the controls so you can judge the result before export.
Choose a PNG or JPG with clear surface detail and even lighting. Free uploads are limited to 5 MB; an active Pro plan accepts up to 25 MB.
Use Strength for stronger relief, Level for the tonal midpoint, and Blur/Sharp to smooth noise or emphasize edges. Use Invert Height when raised and recessed areas are swapped.
Export the current output as a PNG at the processed image dimensions, then import it into your engine or material setup as a bump or height texture.
Use the four controls below to shape the grayscale height data. Change one setting at a time and compare the preview with the source texture.
Controls how far values move away from the Level midpoint. Raise it when the bump shading looks flat; lower it when grain and noise start reading as relief.
Sets the tonal midpoint of the bump map. Move it when the result feels globally too high or too low, and keep Strength for overall intensity.
Negative values smooth noise and compression artifacts. Positive values emphasize edges, which can exaggerate noise that was never on the real surface.
Reverses the dark/light interpretation. Use it when raised areas look recessed in the target renderer.
Reach for a bump map when you need believable surface shading at the lowest cost.

Target engines and fixed-function pipelines that expect a grayscale bump texture instead of RGB direction data.

Feed grayscale height into a procedural material graph when a bump node is the cheapest way to add surface variation.

Check how a texture will read under lighting before you commit to a heavier material or geometry setup.
The right map depends on whether you only need the appearance of depth or the renderer must move geometry. Read what a normal map is for a broader explanation of how normal, bump, and displacement maps differ.
| Map type | Stores | Changes geometry? | Rendering stage | Precision / performance | Best fit |
|---|---|---|---|---|---|
| Bump Map | Grayscale height interpreted as shading | No | Shading only | Low precision, lowest cost | Older engines, procedural texturing, fast previews |
| Normal Map | RGB surface-direction vectors | No | Lighting / shading | Medium precision, fast | Games and real-time rendering |
| Displacement Map | Grayscale height (black = low, white = high) | Yes, when supported | Geometry before shading | Highest precision, highest cost | Terrain, close-ups, 3D printing |
Upload a texture, adjust the bump settings, preview the grayscale result, and download a PNG.