Neatbo.

Material texture channel pack and unpack

Combine explicitly selected raw PNG channels into material data textures, or unpack grayscale channels, retaining RGB beneath transparency.

Browser-local processingInputLocal PNG filesOutputPNG / complete channel-map JSON and CSVUp to 10 MiB per file · File limit: 4
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop them here

Files stay on this device. Your originals stay unchanged.

.png

Up to 10 MiB per file · File limit: 4

    Options

    Complete the required options first. You can keep the defaults for the rest.

    Preparing the tool…

    Before you start

    Choose equal-size static RGB/RGBA PNGs. Enter a supplied file index and channel such as1:R, or an integer0–255, for each target R/G/B/A. Unpack takes exactly one PNG and writes grayscale RGB with alpha255. Browser preview color and transparency are visual only; stored bytes define the deliverable.

    How to use this tool

    1. Select1–4 equal-size PNGs.
    2. Set channel mappings or select single-image unpack.
    3. Review preview and complete mapping; download real PNGs and JSON/CSV.

    Supported inputs and limits

    At most4 files,10MiB each/32MiB combined;4,194,304 pixels each,64MiB total decoded RGBA; complete outputs100MiB.

    Only8-bit RGB/RGBA non-interlaced static PNG; validate IDAT, CRC and filters. Reject indexed,16-bit,animation,color profiles/gamma/EXIF. No resize,color conversion or premultiplication. Allowed text/physical/time metadata is dropped; no float or UDIM support.

    Worked example

    Example input

    Four3×2 RGBA PNGs with first-pixel alpha0.
    Example options
    {"r":"1:R","g":"2:G","b":"3:B","a":"4:A"}

    Example output

    All6 pixels match explicit channel mappings, including nonzero RGB beneath alpha0.

    When something does not work

    Export ordinary RGB/RGBA PNGs without unsupported metadata; keep dimensions equal. Correct file indexes/channels and rerun. Cancellation leaves no partial result.

    Frequently asked questions

    Why are colors invisible under transparent pixels?

    The browser displays alpha; stored RGB is retained. Verify it with a raw pixel reader.

    Documentation & further reading

    Related tools