poka.sh

Docs

BLP

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

Blizzard BLP Texture Preview.

At a glance

Purpose A Blizzard BLP texture: an image with mipmaps used by WarCraft III and World of Warcraft, compressed as JPEG, a palette, DXT or raw BGRA.
Extensions .blp
Poka parser poka-blp
Viewer poka-metadata-card-viewer
Depth tier Metadata card (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-blp/src/main.rs (249 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has no .blp, .blp1 and .blp2 sample. Covers .blp, .blp1 and .blp2. The card reads the BLP0, BLP1 or BLP2 header: type, compression, alpha size and type, mipmap flag, width and height, the mipmap offsets and sizes (levels with data and their total payload). Judgement: B4, because the header and mipmap table are read but no pixel is decoded.

What Poka does not read

  • The texture is not decoded or shown: no JPEG, palette, DXT1, DXT3, DXT5 or BGRA pixels
  • The palette and the shared JPEG header are not read
  • BLP0 is read with the BLP1 layout; its external mipmap files are not followed
  • The whole file (up to 128 MiB) is read without a cap flag

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • blp (blp-rs) (candidate; MIT; Rust; https://github.com/WarRaft/blp-rs) — Pure Rust reader and writer with CLI and viewer; README claims BLP0/1/2 though the About text mentions BLP1 only.
  • image-blp (candidate; MIT; Rust; https://lib.rs/crates/image-blp) — Decodes BLP0/1/2 into the image crate DynamicImage; last release 1.2.0 (Oct 2023).
  • Pillow (BlpImagePlugin) (candidate; MIT-CMU; Python; https://pypi.org/project/pillow/) — Reads JPEG-compressed or raw BLP1 and all BLP2 types per the Pillow handbook.

Sources

  • parsers/poka-blp/src/main.rs
  • parsers/poka-blp/plugin.json