ORM Packer

ORM Packer

Pack Ambient Occlusion, Roughness, and Metallic maps into a single ORM texture (R=AO, G=Roughness, B=Metallic). Standard PBR workflow for Unity HDRP, Unreal Engine, Godot, and Blender. Live preview, instant client-side processing.

ORM Channels

R = Ambient Occlusion, G = Roughness, B = Metallic. Drop maps below or use the batch tab for multiple sets.

Drop AO map or browse
Grayscale occlusion map
Drop roughness map or browse
Grayscale roughness map
Drop metallic map or browse
Grayscale metallic map

Preview

What is ORM Packing?

ORM (Occlusion, Roughness, Metallic) is the standard packed mask format used by modern PBR pipelines. Instead of three separate grayscale textures, you combine them into one RGB image, saving GPU memory and texture lookups.

One Texture, Three Maps

R channel stores Ambient Occlusion, G channel stores Roughness, B channel stores Metallic. Your shader samples once and extracts all three.

Unity HDRP Standard

Unity's High Definition Render Pipeline uses ORM as its standard mask map format. The Lit Shader expects R=Metallic, G=AO, B=DetailMask — our output is compatible after a channel swap in your shader graph.

Unreal Engine Compatible

Unreal Engine 5 uses the same ORM layout (R=AO, G=Roughness, B=Metallic) in its material system. Our output imports directly.

GPU Memory Savings

Three separate 2K textures use 48MB of VRAM. One packed ORM texture uses 16MB. That's a 66% reduction for every material in your scene.

Godot and Blender Ready

Godot 4's StandardMaterial3D and Blender's Principled BSDF both accept packed ORM textures with the same R=AO, G=Roughness, B=Metallic layout.

100% Client-Side

All packing is done locally in your browser. Your texture maps are never uploaded anywhere, complete privacy guaranteed.

Related Texture Tools

Texture Channel Mixer
Pack any grayscale maps into RGBA channels.
Seamless Texture Maker
Make any image tileable.
PBR Texture Set Resizer
Bulk resize all PBR maps at once.
Normal from Height
Convert height maps into normals.
PBR Material Previewer
Preview PBR maps on 3D models.

Frequently Asked Questions

ORM stands for Occlusion, Roughness, Metallic. It packs these three grayscale maps into the R, G, and B channels of a single image: R = Ambient Occlusion, G = Roughness, B = Metallic. This is the standard packed mask format used by Unity HDRP, Unreal Engine 5, Godot 4, and Blender.
Yes. ARM (AO, Roughness, Metallic) uses the same channel layout as ORM. The two names are interchangeable in the industry. Both map R=AO, G=Roughness, B=Metallic.
Empty channels default to black (value 0). For occlusion this means fully occluded, for roughness fully smooth, and for metallic fully dielectric (non-metal). You can pack just one or two maps and leave the rest blank.
PNG, JPEG, and WebP are instant client-side downloads. TIFF, BMP, AVIF, and EXR require a free account and are processed server-side with daily tier limits (5 free per day).
No. All ORM packing happens in your browser using Canvas APIs. Your texture maps never leave your computer. Server-side export formats are sent for format conversion only and immediately discarded.
Yes. Switch to the Batch Sets tab, drop folders or files, and they are auto-grouped by shared basename. Click Convert All to pack every set, then download individually or all at once.