Skip to content
Normalforge

Normal maps and PBR textures in your browser

Texture packing and resizing

Get textures ready for a game engine: pack AO, roughness and metallic into the channels of one ORM or mask texture, unpack a packed texture again, put sprites on one sheet with a JSON atlas, resize to power-of-two sizes with colour, data and normal maps each resampled correctly, and preview the full mip chain of a texture down to 1 × 1.

Tools in this group

Mipmap Generator (Texture Mip Chain)Make all the mip levels of a texture, see them side by side, and download each level or a ZIP.
ORM Texture PackerPack ambient occlusion, roughness and metallic maps into one texture for glTF, Unreal or the Unity HDRP mask map.
Power of Two Texture ResizerResize any image to a power-of-two size (256, 512, 1024 …) for game engines and GPU mipmaps.
Texture Channel SplitterUnpack a channel-packed texture into separate grey maps, one per channel.
Texture Packer (Sprite Sheet)Pack many sprites into one sprite sheet and get the frame data as JSON for Phaser, Pixi or your own engine.