Bump Map GeneratorLocal browser processing
Drop an image hereChoose a PNG, JPEG, WebP, or BMP (up to 50 MB).Local image processing

Choose a local image or try the sample.

Drag or touch the lit preview, or use the light sliders.

One opaque scalar channel. Alpha source becomes height. True grayscale PNG (color type 0), with no display gamma metadata.

16-bit retains processed float precision; it cannot restore missing source detail. Browser-decoded input may be reduced to 8 bits.

Bump Map Generator

This bump map generator turns local image values into a scalar grayscale texture for bump or height-style shading. Choose luminance, a color channel, or alpha, shape the tonal range, and inspect a lit relief preview. Bump/height-like scalar data is not the same as a tangent-space normal map.

How to Get Started with the Bump Map Generator

Try the mathematical relief sample or choose your own PNG, JPEG, WebP, or BMP image. Select the height source, adjust Black Point and White Point, and move Gamma to position the midtones. Start with small Blur and Detail values. Compare Original with Bump / Height Output, then move the preview light to inspect the relief. Choose eight-bit or sixteen-bit grayscale PNG and download once the current processing completes. Source-image bytes are never uploaded.

What Is a Bump Map?

A bump map supplies one scalar value per texel. The renderer evaluates neighboring height differences and perturbs shading directions to suggest small surface relief. This bump map generator outputs relative values from zero to one; it does not measure millimeters or reconstruct a physical material. Brighter values conventionally represent higher regions, but the final depth and sign depend on the receiving shader. A uniformly bright map can produce the same flat shading as a uniformly dark map.

Bump Map vs Normal Map: Different Stored Data

A bump texture stores scalar height-like information, while a normal map stores a three-component surface direction. The grayscale output of this bump map generator is therefore not a purple normal texture under a different name. The Normal Comparison preview separately derives directions through the site's existing Sobel height-to-normal pipeline. That comparison is illustrative; use the dedicated height converter when you need to choose normal strength, gradient filter, or export convention.

Convert the bump height into a normal map

Bump Map vs Height Map vs Displacement

Bump and height often describe similar scalar files, with the distinction coming from how a renderer uses them. Bump shading usually changes lighting without moving vertices or changing the actual silhouette. A displacement shader may use the same scalar data to move geometry, given sufficient subdivision and a defined scale and midpoint. This bump map generator cannot guarantee useful displacement from an arbitrary photo. Check geometry density, boundary continuity, and material settings before using the output for displacement.

How Image Brightness Becomes Bump Height

Luminance combines red, green, and blue with weights 0.2126, 0.7152, and 0.0722. Channel modes isolate one component; Alpha uses opacity numerically without color gamma. Data transfer reads stored values directly and is the initial setting for existing height maps. sRGB transfer linearizes color channels and may be useful for photographs. Painted pigment and captured shadows can still become false relief. No brightness method knows whether a dark region is a hole, paint, or lighting.

Black Point, White Point, Gamma, and Contrast

Levels first map the chosen black point to zero and the white point to one, clipping values beyond the range. White must remain above black. Gamma uses the image-editor convention value^(1/gamma): values above one lift midtones, and lower values darken them. Contrast scales differences around 0.5 in stops. The bump map generator keeps this sequence explicit so you can avoid crushing pores into hard black or saturating small peaks into featureless white plateaus.

Inverting Bump Direction Deliberately

Invert exchanges low and high scalar values after levels, gamma, and contrast, before spatial filtering. In a conventional bump shader this exchanges raised and recessed relief, but the receiving material can also have its own invert or negative-strength setting. Avoid applying both unless intentional. Check a recognizable scratch or ridge under a moving light and compare the original image for context. A photograph's brighter paint does not automatically mean that feature should be raised.

Choosing Blur and Detail Amount

Blur uses a separable box filter with a radius measured in source pixels. It suppresses noisy relief but also softens genuine ridges. Detail applies a clamped unsharp-mask contribution after blur, emphasizing the difference between the current field and a nearby smoothed version. It cannot restore missing photographed geometry. The bump map generator offers Wrap-aware Processing for intended repeating sources; wrapping samples opposite edges, but does not make a nonperiodic image seamless. Inspect both fine grain and broad transitions.

8-bit vs 16-bit Grayscale Output

Eight-bit PNG quantizes the float scalar field into 256 possible values. Sixteen-bit PNG writes genuine big-endian grayscale samples with 65,536 possible values; it is not an RGB8 file relabeled as sixteen-bit. Both use PNG color type zero and omit display-gamma metadata. Sixteen-bit export can retain fractional values created by filtering and tonal adjustment, but it cannot recover precision missing from an eight-bit source. Browser decoding of a higher-depth input can also reduce its source precision.

Recommended Uses for a Bump Map Generator

Use the tool for quick relief studies, painted height preparation, subtle paper grain, worn metal scratches, or material prototypes from simple scalar sources. Keep the original source and export a conservative first version so material strength remains controllable in your renderer. A bump map generator is especially helpful when your software expects scalar bump input rather than a tangent normal. For a coordinated material set, review the site's PBR tools and keep roughness and albedo interpretations separate.

Prepare related PBR texture estimates

Common Bump-Texture Mistakes and Intended Users

Artists, modelers, and material developers should watch for photographic shadows baked into relief, excessive contrast, unsupported sixteen-bit imports, and accidental color-space conversion of exported scalar data. Import the result as data when your renderer expects numeric height. The bump map generator creates an opaque height field: Alpha mode uses the source mask as height rather than preserving it as output transparency. Normal Comparison and Lit Bump Preview do not simulate geometry displacement or silhouette changes.

Preview Scale and Practical Processing Limits

Processing and export preserve source dimensions up to the existing 50 MB, 8192-pixel-side, and 16,777,216-pixel limits. Previews use bounded nearest samples and a fixed illustrative normal strength of four, so small details may need inspection in the destination renderer. The bump map generator retains the full float field for export and recalculates from the original source after every control change. To inspect a resulting normal texture under additional shapes and lights, continue through the height converter and viewer.

Inspect a derived normal texture in the viewer

Frequently Asked Questions

Does the bump map generator export true grayscale PNG?

Yes. Both eight-bit and sixteen-bit exports use a single grayscale channel, PNG color type zero. Preview RGB channels repeat that scalar value only for display.

Does sixteen-bit export add detail to an eight-bit source?

It preserves finer processing values, such as filtered gradients, but cannot recover source information that was never recorded. The exported file really has sixteen-bit samples.

Can a bump map change a model's silhouette?

Ordinary bump shading changes lighting directions. A displacement workflow can move geometry, but requires suitable renderer settings, subdivision, scale, and source data.

Why does my photo create unexpected bumps?

Brightness can come from pigment, shadows, or reflections instead of elevation. Use a prepared height source, isolate a useful channel, or lower detail and contrast.