ToolBuddyToolBuddy
GameNew

UV & Texture Toolkit

Generate UV checker maps, inspect a model's real UV layout, derive normal and AO maps from a height image, and pack or unpack ORM textures — all in your browser.

Know your workflow

Supported files and how to use.

Check supported input/output details and follow the tool steps before exporting.

🧾

Technical specs and decision signals

Use these specs to validate workflow fit, privacy boundaries, and output expectations before you run the UV & Texture Toolkit.

Cost

Free workflow with no signup gate for core usage.

Security

All processing runs in-browser — files never leave your device.

Device

Supports modern desktop and mobile browsers.

Tech specs

Input: glTF and GLB for UV inspection; PNG, JPG, and WebP for map generation and packing. Output: PNG, individually or as a ZIP. Checker resolution up to 8192×8192. Overlap analysis is capped and reports when it did not run.

🧭

How to use

Check supported input/output details and follow the tool steps before exporting.

01

Open the Checker tab and set resolution, grid density, palette, and labels — no upload needed.

02

Switch the task to UV check and choose a glTF or GLB to see its real UV islands drawn over the checker, or switch the preview to 3D to see the checker on the model.

03

Read the per-primitive report for islands, space used, out-of-bounds triangles, and overlaps.

04

Switch to Generate, load a height image, and pick the maps you want derived from it.

05

Switch to Pack to combine three greyscale maps into one ORM texture, or unpack an existing one.

06

Download individual PNGs or collect everything into a single ZIP.

Guide

Learn, decide, and apply.

Understand how to how to generate uv checker maps and texture maps in your browser, why it matters in repeat workflows, and when to use this tool with confidence.

✨

In-browser uv inspection and texture map generation

  • Runs entirely in your browser — files never leave your device.
  • UV inspection against the actual mesh, which image-only generators cannot offer.
  • Deterministic checker output — the same settings always produce the same map.
  • Per-UV-set analysis, so lightmapped assets are not silently misreported.
  • Explicit about its limits: derived maps are labelled as derived, not baked.
  • Refuses to resample mismatched channels rather than silently corrupting a packed texture.
🎯

Check uv layouts and derive texture maps without installing software

  • Generate a labelled checker map and spot stretching or rotation on a model.
  • Find out how much of the 0–1 UV square a model actually uses.
  • Catch overlapping UV islands before they cause texture bleeding.
  • Derive a normal map from a height image without installing software.
  • Pack occlusion, roughness, and metallic into one glTF-correct ORM texture.
  • Unpack someone else's packed texture to see what is in each channel.
About

About UV & Texture Toolkit

How to generate uv checker maps and texture maps in your browserIn-browser uv inspection and texture map generationCheck uv layouts and derive texture maps without installing software

Generate a checker map, then check it against the model

Set resolution up to 8192×8192, grid and micro-grid density, a colour palette, and cell labels. The same settings always produce the same map, so two renders can be compared directly.

Load a glTF or GLB and the toolkit draws its real UV islands over that checker — the piece image-only generators cannot offer, because they never load the model.

Read what the UV layout is actually doing

Per primitive and per UV set: island count, percentage of the 0–1 square used, triangles outside that square, and overlapping island pairs.

Models with more than one UV set are reported set by set, because analysing only the first would give a confidently wrong answer for a lightmapped asset. UVs outside 0–1 are often an intentional UDIM layout, so the tiles touched are listed rather than flagged as an error.

Derive maps and pack channels

Generate tangent-space normal, ambient occlusion, roughness, metallic, and height maps from a source image, with green-channel inversion for the OpenGL and DirectX conventions.

Pack three greyscale maps into a single texture in the order your engine expects, or unpack an existing one to inspect it. Mismatched input sizes are refused rather than resampled.

FAQ

Common questions.

Have more questions? Reach out via our contact page and we will respond within 24 hours.

Do my files upload to a server?

No. Everything runs in your browser and nothing is sent to a server.

Which model formats can the UV inspector read?

glTF and GLB. STL carries no UV data at all, and much raw PLY carries none either.

Are the generated maps baked from geometry?

No. They are derived from the source image you supply. A normal map here encodes the gradient of your height image — it is not a high-to-low-poly bake.

Why did my normal map look lit from the wrong side?

OpenGL expects +Y up and DirectX expects +Y down. Use the invert-green toggle to switch convention.

Why won't it pack channels of different sizes?

Silently resizing one channel corrupts the packed result in a way that is very hard to notice later. Resize the sources to match first.

What does 'not checked' mean on overlaps?

The primitive was above the overlap check's triangle limit, so the check did not run. That is not the same as finding no overlaps.

Guides

Learn with practical workflow guides.

Read intent-focused guides, then jump straight into the live tool workflow.

View all guides