Stub
This article or section is a stub. You can help by expanding it.
 
  Initial release 
  Apr 8, 2022
 
  Stable release 
  Jun 14, 2025 (v5.1.1)
 
  Distribution 
  Free and open-source
 
  Initial release 
  Oct 6, 2023
 
  Stable release 
  Dec 13, 2024 (v0.1.4)
 
  Distribution 
  Free and open-source
 no_vtf is an open source alternative to  VTF2TGA. Unlike its first-party counterpart, it also supports converting VTFs to PNG, TIFF, and EXR, and can also decompress compressed HDR skybox textures.
 VTF2TGA. Unlike its first-party counterpart, it also supports converting VTFs to PNG, TIFF, and EXR, and can also decompress compressed HDR skybox textures.
 Tip:Compressed HDR textures are automatically detected by the presence of the string "hdr" near the end of the filename.
Tip:Compressed HDR textures are automatically detected by the presence of the string "hdr" near the end of the filename.Help text
The following work is licensed under the 
GNU General Public License 3.0This work is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License; version 3 as published by the Free Software Foundation. This work is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 
version 3 of the GNU Lesser General Public License for more details.
 Help from no_vtf run without an input file:
Usage: 
no_vtf [OPTIONS] [--] PATH...
  Convert Valve Texture Format files into standard image files.
  PATH can be either a file or a directory (in which case it is recursively
  searched for .vtf files; symbolic links are not followed). Multiple paths
  may be provided.
  As the output path, it is possible to specify either a file or a directory.
  Specifying the output file is useful mostly for single-file conversions,
  with filters to ensure the output file will be written only once.
  If the output directory is not specified, images are output into the source
  directories (in-place conversion). Otherwise, the directory tree for any
  found files will be reconstructed in the chosen directory.
  Output LDR/HDR format is selected by its common file name extension. It is
  recommended selecting one of the specifically supported image formats (PNG,
  APNG, TGA, TIFF, EXR). Other image formats have not been validated to work,
  but can still be selected. A secondary format specifically used to output
  animated image files can be selected after '|' (see default LDR format as an
  example). The "skip" format can be used to skip the R/W step entirely.
  For the specifically supported image formats, compression is configurable
  when saving the image. Lossless compression is enabled by default. Lossy
  compression is not used.
  The BGRA8888 format can store both LDR and compressed HDR images. The
  specific type is either auto-detected by looking at the input file name
  (roughly, if it contains "hdr" near the end), or can be set manually.
  It is possible to filter images to convert by min/max resolution (width &
  height), and by frames/faces/slices. The former supports exact or closest
  match. The latter supports selection by single index or via Python slicing:
  https://python-reference.readthedocs.io/en/latest/docs/brackets/slicing.html
  It is also possible to specify multiple indices/slices separated by commas.
  Face index mapping: right (0), left, back, front, up, down, sphere map (6).
  After applying filters, only the highest-resolution mipmap is converted by
  default. Alternatively, all mipmaps of the high-resolution image can be
  converted.
  Animated textures are converted into an animated multi-frame image file by
  default. Alternatively, they can also be converted into single-frame images
  when animation is disabled.
  The RGB/L and A channels are packed into one file by default. When output
  separately, resulting file names will be suffixed with "_rgb", "_l", or
  "_a".
  By default, image files are only written if they do not exist already.
  Alternatively, they can be overwritten, or writing can be disabled entirely.
  Images can also be read back to verify they have been written properly.
  Readback will error if would-be-written data does not match what is in the
  file.
  Workers are spawned for each logical core to run the conversion in parallel.
  The number of workers can be overridden. If set to 1, conversion is
  sequential. Sequential conversion enables more verbose errors to be printed.
  Exit status: Zero if all went successfully, non-zero if there was an error.
  Upon a recoverable error, conversion will proceed with the next file.
Options:
  Conversion mode: 
    --animate / --no-animate      Output animated image file (default) /
                                  output each frame individually
    --raw                         Extract image data as-is (without decoding)
  Extraction: 
    -m, --mipmaps                 Extract all mipmaps
    --low-res-img                 Extract the low-resolution image
    --min-resolution INTEGER      Minimum mipmap resolution  [x>=1]
    --max-resolution INTEGER      Maximum mipmap resolution  [x>=1]
    --closest-resolution          Fallback to the closest resolution if no
                                  exact match
    --frames INDEX|[START]:[STOP][:STEP]
                                  Frames to extract
    --faces INDEX|[START]:[STOP][:STEP]
                                  Faces to extract
    --slices INDEX|[START]:[STOP][:STEP]
                                  Slices to extract
  Image decoding (not used with --raw): 
    --dynamic-range [ldr|hdr]     Override LDR/HDR auto-detection
    --overbright-factor FLOAT     Multiplicative factor used for decoding
                                  compressed HDR textures  [default: 16.0]
  Image postprocessing (not used with --raw): 
    --hdr-to-ldr                  Convert HDR from linear sRGB to sRGB and
                                  output as clipped LDR
    --separate-channels           Output the RGB/L and A channels separately
  Image output (not used with --raw): 
    -f, --ldr-format SINGLE[|MULTI]
                                  LDR output format  [default: tiff|apng]
    -F, --hdr-format SINGLE[|MULTI]
                                  HDR output format  [default: exr]
    --fps INTEGER                 Frame rate used for animated image files
                                  [default: 5]
    --compress / --no-compress    Control lossless compression
  Read/write control: 
    --always-write / --no-write   Write images
    --readback / --no-readback    Readback images
  Output destination: 
    -o, --output-dir PATH         Output directory
    -O, --output-file PATH        Output file
  Miscellaneous: 
    --num-workers INTEGER         Number of workers for parallel conversion
                                  [x>=1]
    --no-progress                 Do not show the progress bar
  Info: 
    --shell-completion [SHELL]    Setup shell completion.
    -h, --help                    Show this message and exit.
    --version                     Show the version and exit.
    --credits                     Show the credits and exit.
See also
External links
| |  | 
|---|
 |  |  | Mod tools |  | 
|---|
 |  |  | Map editors |  | 
|---|
 |  |  | Map compilers |  | 
|---|
 |  |  | Map compiler frontends |  | 
|---|
 |  |  | Map converters |  | 
|---|
 |  |  | Map tools |  | 
|---|
 |  |  | Model compilers |  | 
|---|
 |  |  | Model compiler frontends |  | 
|---|
 |  |  | Model converters |  | 
|---|
 |  |  | Model tools |  | 
|---|
 |  |  | Displacement tools |  | 
|---|
 |  |  | Particle converters |  | 
|---|
 |  |  | Texture converters |  | 
|---|
 |  |  | Texture tools |  | 
|---|
 |  |  | Sound tools |  | 
|---|
 |  |  | VPK tools |  | 
|---|
 |  |  | Libraries |  | 
|---|
 |  |  | Plugins |  | 
|---|
 |  |  | Other |  | 
|---|
 |