# Tacent View opens the texture formats a game artist actually ships

> Tacent View is a C++ image and texture viewer built on Dear ImGui and the Tacent library, with support for the compressed formats used in game and mobile pipelines including BC1-7, ASTC and ETC, plus a command line mode for the same edits. It is a developer tool rather than a general image editor, and it reads formats that most viewers refuse to open.

**bluescan/tacentview** — An image and texture viewer for tga, png, apng, exr, dds, pvr, ktx, ktx2, astc, pkm, qoi, gif, hdr, jpg, jxl, tif, ico, webp, avif, heic, and bmp files. Uses Dear ImGui, OpenGL, and Tacent. Useful for game devs as it displays information like the presence of an alpha channel and querying specific pixels for their colour.

- Repository: https://github.com/bluescan/tacentview
- Stars: 594 · Forks: 43
- Language: C++
- License: ISC
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/bluescan-tacentview

## A viewer built around compressed texture formats

Tacent View is described as an image and texture viewer for a long list of formats, and the format list is the reason to care about it: tga, png, apng, exr, dds, pvr, ktx, ktx2, astc, pkm, qoi, gif, hdr, jpg, jxl, tiff, ico, webp, heic, avif, svg and bmp.

What separates it from a general image viewer is the pixel format support. The README says it has robust support for pixel-formats used during game and mobile development including BC1-7, ASTC and ETC. Those are block compression schemes, and they are the formats a texture artist has to work with and a general image editor will usually either refuse or flatten into a lossy preview. Being able to open a BC7 or an ASTC texture and see what is actually in it, with the alpha channel interpreted properly, is the whole point.

The implementation is C++ on Dear ImGui with the Tacent library doing the codec work, and the licence is ISC. The repository layout shows a conventional desktop application with separate Windows and Linux directories, a Src directory for the code, an Assets directory, Icons, Screenshots, a docs directory, CMakeModules, and a TestImages directory.

The project is useful to two audiences that overlap only slightly. For a game developer it is a texture inspector with an editor attached. For anyone else it is a fast image viewer with a wide format list, a thumbnail view for large collections, and a batch mode.

The last push was on 2026-10-19, the repository is not archived, and the recent releases are v1.0.47 from 2025-12-07, v1.0.46 from 2024-09-09 and v1.0.45 from 2024-08-26.

## What the viewer shows that a normal image tool does not

The details in the README are what separate this from a general purpose image editor, and they are worth reading as a list of questions you can ask an asset.

The first is metadata. The project's description says it is useful for game devs as it displays information like the presence of an alpha channel and querying specific pixels for their colour, and the README shows grabbing the exact pixel colour value to the clipboard. Semi-transparent images are displayed with an optional checkerboard background, and the alpha channel is interpreted as opacity and properly processed if the source images have semi-transparency.

The second is mipmaps and cubemaps. When viewing dds, ktx or ktx2 files you can view any present mipmaps and see cubemaps in a T layout. This is the single most game-specific feature in the tool, because a cubemap is a six-sided arrangement that a flat viewer renders as a confusing smear.

The third is multi-image containers. The README explains that other formats store multiple images inside a single file: a dds or ktx may be a cubemap with 6 sides or a BC or ASTC compressed image with mipmaps, a tiff may include multiple pages, and webp and png or apng files may be animated. For these formats a property editor window lets you display which frame you see, and the duration of any individual frame may be edited and the file resaved, whether the file is a gif, an apng or a webp.

The fourth is the editing set: batch-resizing, rotations and flips, contact-sheet and flipbook generation, cropping and levels adjustments, with a full undo and redo stack for all edit operations, per-image. All frames of animated images can be adjusted at once, or each frame individually.

That combination is coherent. It is a viewer that also happens to be an editor, built so that the thing you are inspecting does not get destroyed by the act of inspecting it.

## The command line mode and the build pipeline use case

The second half of the project is that the GUI is not the only interface. Tacent View may also be used as a command-line tool for batch processing of images or integration into build-pipelines, and all operations that can be done in the GUI are also available from the command line, including colour quantization, crop, rotate, frame-extraction and resize.

That is the clause that matters for an engineering team. A GUI that can also be scripted is a tool you can put in a pipeline, and the operations listed are the ones a build actually performs: quantize a texture to a smaller palette, crop, rotate, extract one frame from an animation, resize for a mipmap chain.

The README also describes the photo-handling side of the tool, which is where its speed claims sit. As a photo viewer it can handle large collections and generate or retrieve thumbnails very quickly, and the thumbnail view is supported by a dedicated window, with the README saying Tacent View can easily handle thousands of photos in a single folder. The slideshow mode can display photos in any order, including fields stored in the EXIF metadata of jpeg files, like latitude or aperture.

There is a batch save path as well, with a Save All As option to batch convert all the images in a folder, and the tool can save tga, png, bmp, qoi, jpg, animated webp, animated gif, animated apng and animated tiff files.

What the README does not do is give the command line syntax. There are separate CLI overview and GUI overview pages on the project homepage, and the README points at them, so the actual flags live there rather than in this document.

## Installing it, and the platforms it actually runs on

The distribution story is short, and it is worth reading closely because the packaging is not a package manager install.

Tacent View runs on Windows 10 or 11 and Linux, and the README mentions Kubuntu as an example. The instruction is to browse the releases to grab a zip for Windows or a deb for Linux package, or to install from the Snap Store. The Snap Store listing is also linked in the badge at the top of the README.

So there are three routes, and they differ in what they give you:

```text
Tacent View runs on Windows (10 or 11) and Linux (Kubuntu etc). Browse the releases to grab a zip (Windows) or deb (Linux) package -- or install from the [Snap Store](https://snapcraft.io/tacentview).
```

A zip and a deb are binaries rather than packages you compile, so there is no build step to describe here, and the source tree at the top level with its CMakeLists.txt and CMakeModules directory is what you would work from if you wanted to build it yourself. The Snap route is the only one that gives you an update mechanism, which matters for a tool that tracks upstream format support and therefore benefits from new releases.

The project homepage is at bluescan.github.io/tacentview, and the README links a GUI overview and a CLI overview page there. Those two pages are where the interface and the command line reference live.

The releases are on GitHub, and the most recent one, v1.0.47, is titled WebP, Targa, Reduced Load and Path Pasting, which tells you the project tracks format support as its headline feature.

## The HDR and EXR paths, and why the reference code matters

High dynamic range loading is handled with some care, and the README explains why that care is warranted.

High Definition Image loading is supported for exr, hdr in rgbe form, dds, ktx and ktx2 files. For hdr and rgbe files the loading code is based on, and is functionally equivalent to, the reference code from the Radiance imaging toolset, and adjustments to gamma correction and exposure are supported when loading any HDR file. The example given shows an image that loads over-exposed and is subsequently adjusted to yield a more balanced result.

EXR support uses reference code from OpenEXR and should be able to load most exr files, including multi-frame, also called multi-part, files, with control for various exr parameters including the ability to de-fog.

Using reference implementations here is the right call and it is the sort of decision that is easy to get wrong. Radiance rgbe decoding and OpenEXR decoding both have edge cases that a from-scratch implementation tends to get subtly wrong, and a viewer that misdecodes an HDR file gives you a plausible-looking but incorrect image, which for an asset inspection tool is worse than a failure. The cost of borrowing the reference code is a dependency and a licence obligation; the benefit is that what you see is what the file contains.

The de-fog control for EXR is a smaller detail in the same family, an exposure adjustment applied at load time rather than baked into the pixels, which is useful when you want to see through a haze in a capture.

## Where Tacent View is the wrong tool

Three limits, and the first is a licensing one that the repository is unusually open about.

The first is the ISC licence, which is permissive, but the README carries an explicit note about a particular kind of use. Where a screenshot or an image in the tool comes from a third party, the credit line names the author and the licence: the HDR example images are credited to Rafal Mantiuk under Creative Commons 3.0, the desk image for the EXR example is courtesy of OpenEXR under their licence, the hypercube animated gif is courtesy of Jason Hise under CC0, and the Live2D style of attribution in other projects is similar. For a tool you ship inside a studio, the practical question is whether the example assets and the codec code carry obligations that your legal team wants to see before the tool ends up in a build pipeline.

The second is the platform list, and it is short. Windows 10 or 11 and Linux, with a zip, a deb and a Snap. There is no macOS build mentioned, which for a developer tool used on a mixed workstation fleet is a real constraint, and the Snap route does not cover macOS either.

The third is scope, and it cuts both ways. The editing set is oriented around texture and pipeline work: quantize, crop, rotate, extract a frame, resize, adjust levels, generate a contact sheet, strip a matching border, and change the aspect ratio without a non-uniform scale by letter-boxing or cropping. That is a good list for an asset pipeline and a short one for someone who wants a photo editor with layers, brushes and colour grading. The viewer side is broader, since it handles large photo collections, EXIF-driven slideshow ordering and a very wide format list, so for reading images the tool is capable, and for producing polished images it is narrow.

The alternative approach, for the pipeline case, is to call a dedicated converter for each format and keep the viewer for inspection. The difference in approach is that Tacent View gives you one binary that both reads the awkward formats and writes the common ones, which is convenient when the same asset moves between a desktop tool and a build step, and it is less convenient when you want reproducible per-format conversion flags from a mature tool.

## Conclusion

Adopt Tacent View if you work with game or mobile textures and need to inspect compressed formats such as BCn, ASTC and KTX, or if you need batch image processing from a build pipeline, since the CLI exposes the same operations as the GUI and the format coverage is the reason to use it. Do not adopt it as a general photo editor, since the feature set is oriented around texture inspection and pipeline work rather than photographic adjustment, and do not expect it to run everywhere, because it supports Windows 10 or 11 and Linux. Verify first that the specific pixel format you need is covered, since the README lists BC1-7, ASTC and ETC for game work, that the container format you have is one of the listed ones, that the CLI subcommand names match what your pipeline expects, since the README describes the operations rather than enumerating the flags, and that the licence terms fit your use before you redistribute the tool.

## FAQ

### What is Tacent View and which file formats does it open?

It is a C++ image and texture viewer built on Dear ImGui and the Tacent library, opening tga, png, apng, exr, dds, pvr, ktx, ktx2, astc, pkm, qoi, gif, hdr, jpg, jxl, tiff, ico, webp, heic, avif, svg and bmp files, with robust support for the BC1-7, ASTC and ETC pixel formats used in game and mobile development.

### How do I install Tacent View?

It runs on Windows 10 or 11 and Linux. The README says to browse the releases to grab a zip for Windows or a deb for Linux package, or to install from the Snap Store, and there is no build step required for those packaged binaries.

### Can Tacent View be used from a build pipeline?

Yes. It may be used as a command-line tool for batch processing of images or integration into build-pipelines, and all operations available in the GUI are also available from the command line, including colour quantization, crop, rotate, frame-extraction and resize. The CLI reference lives on the project's CLI overview page.

### What can Tacent View show about a DDS or KTX texture?

For dds, ktx and ktx2 files you can view any present mipmaps and see cubemaps in a T layout. It also reports whether an alpha channel is present, and you can query the colour of individual pixels and copy that value to the clipboard.

### Which file formats can Tacent View save?

It can save tga, png, bmp, qoi, jpg, animated webp, animated gif, animated apng and animated tiff files. For animated formats the duration of an individual frame may be edited and the file resaved, and all frames can be adjusted at once or one at a time.

## Sources

- [bluescan/tacentview on GitHub](https://github.com/bluescan/tacentview)
- [Issues](https://github.com/bluescan/tacentview/issues)
- [License: ISC](https://github.com/bluescan/tacentview/blob/master/LICENSE)
- [README](https://github.com/bluescan/tacentview/blob/master/README.md)
- [Releases](https://github.com/bluescan/tacentview/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/bluescan-tacentview
