CRUNCH(1)
โจ NAME โจ
crunch โ Advanced DXTn Texture Compressor ๐
welcome to CRUNCH(1), bestie โ straight outta the General Commands Manual, section 1. hydrate, sit up straight, we're compressing textures ๐
๐ SYNOPSIS ๐
crunch [options]
๐ฆ DESCRIPTION ๐ฆ
okay so crunch is a lossy texture compression command line tool, and it's for developers who distribute and use content in the DXT1/5/N or 3DC/BC5 compressed mipmapped GPU texture formats. it's giving "pipeline go brrr" ๐ฅ
this version has been upgraded with Unity improvements, added features, and extended system + hardware support. slay ๐
๐ OPTIONS ๐
๐ file stuff
-file filenameโ the required input filename. wildcards? yes. multiple-fileparams? also yes, stack 'em bestie ๐ซถ-file @list.txtโ a whole list of files to convert, in a text file, fancy ๐
Supported source file formats: dds, ktx, crn, tga, bmp, png, jpg/jpeg, psd
โ ๏ธ real talk: some file format variants are unsupported. see the docs forstb_image.h:https://github.com/nothings/stbProgressive JPEG files are supported, see:http://code.google.com/p/jpeg-compressor/
๐๏ธ path/file related parameters
-out filenameโ name of the output file-outdir dirโ directory to drop output into-outsamedirโ write the output file into the input directory-deepโ recurse subdirectories, default=false-nooverwriteโ don't overwrite files that already exist-timestampโ update only the files that actually changed-forcewriteโ overwrite even read-only files ๐ค-recreateโ recreate the directory structure-fileformat [dds,ktx,crn,tga,bmp,png]โ output file format, default=crnordds
๐ฎ modes
-compareโ compare input and output files (no output files are written. none. zero. nada ๐)-infoโ only display input file statistics (also writes no output files)
๐ง misc. options
-helperThreads #โ set number of helper threads,0-15, default=(# of CPU's)-1-noTitleโ disable title output at run time-noprogressโ disable progress output-quietโ disable all console output ๐คซ-ignoreerrorsโ keep processing files after errors. Note: the default behavior is to immediately exit whenever an error occurs ๐-logfile filenameโ append output to a log file-pauseโ wait for keypress on error-window <left> <top> <right> <bottom>โ crop window before processing-clamp <width> <height>โ crop the image if it's larger than width/height-clampscale <width> <height>โ scale the image if it's larger than width/height-nostatsโ disable all output file statistics (faster โก)-imagestatsโ print various image quality statistics-mipstatsโ print statistics for each mipmap, not just the top mip-lzmastatsโ print size of output file compressed with LZMA codec-splitโ write faces/mip levels to multiple separate output PNG files-yflipโ always flip texture on Y axis before processing-unflipโ unflip texture if read from source file as flipped
๐ image rescaling (mutually exclusive options)
these are mutually exclusive bestie, pick ONE, don't be greedy ๐
-rescale <int> <int>โ rescale image to specified resolution-relscale <float> <float>โ rescale image to specified relative resolution-rescalemode <nearest | hi | lo>โ auto-rescale non-power of two imagesnearestโ use nearest power of 2hiโ use nextloโ use previous
๐ DDS/CRN compression quality control
-quality #(or/q #) โ set Clustered DDS/CRN quality factor[0-255].255=best DDS default quality is best possible. CRN default quality is128.-bitrate #โ set the desired output bitrate of DDS or CRN output files.
this option causes crunch to find the quality factor closest to the desired bitrate using a binary search. it's giving overachiever energy โจ
๐งฌ low-level CRN specific options
-c #โ color endpoint palette size,32-8192, default=3072-s #โ color selector palette size,32-8192, default=3072-ca #โ alpha endpoint palette size,32-8192, default=3072-sa #โ alpha selector palette size,32-8192, default=3072
๐ช mipmap filtering options
-mipMode [UseSourceOrGenerate,UseSource,Generate,None]โ default mipMode isUseSourceOrGenerateUseSourceOrGenerate: use source mipmaps if possible, or create new mipmaps.UseSource: always use source mipmaps, if any (never generate new mipmaps)Generate: always generate a new mipmap chain (ignore source mipmaps)None: do not output any mipmaps
-mipFilter [box,tent,lanczos4,mitchell,kaiser]โ default=kaiser-gamma #โ mipmap gamma correction value, default=2.2, use1.0for linear-blurriness #โ scale filter kernel,>1=blur,<1=sharpen,.01-8, default=.9-wrapโ assume texture is tiled when filtering, default=clamping-renormalizeโ renormalize filtered normal map texels, default=disabled-rtopmipโ renormalize on the top mip-level too, default=disabled-maxmips #โ limit number of generated texture mipmap levels,1-16, default=16-minmipsize #โ smallest allowable mipmap resolution, default=1
๐๏ธ compression options
-alphaThreshold #โ set DXT1A alpha threshold,0-255, default=128
Note:-alphaThresholdalso changes the compressor's behavior to prefer DXT1A over DXT5 for images with alpha channels (.DDSonly).
-uniformMetricsโ use uniform color metrics, default=use perceptual metrics-noAdaptiveBlocksโ disable adaptive block sizes (i.e. disable macroblocks).-noNormalDetectionโ disable normal map detection, default=disabled-compressor [CRN,CRNF,RYG,ATI]โ set DXTn compressor, default=CRN-dxtQuality [superfast,fast,normal,better,uber]โ endpoint optimizer speed.
sets the endpoint optimizer's max iteration depth. Default=uber. yes the setting is literally called uber, main character energy ๐
-noendpointcachingโ don't try reusing previous DXT endpoint solutions.-grayscalesamplingโ assume shader will convert fetched results to luma (Y).-forceprimaryencodingโ only use DXT1 color4 and DXT5 alpha8 block encodings.-usetransparentindicesforblackโ try DXT1 transparent indices for dark pixels.
๐จ output pixel format options
-usesourceformatโ use input file's format for output format (when possible).
All supported texture formats (Note: .CRN only supports DXTn pixel formats):
-DXT1-DXT2-DXT3-DXT4-DXT5-3DC-DXN-DXT5A-DXT5_CCxY-DXT5_xGxR-DXT5_xGBR-DXT5_AGBR-DXT1A-ETC1-ETC2-ETC2A-ETC1S-ETC2AS-R8G8B8-L8-A8-A8L8-A8R8G8B8
๐ AUTHOR ๐
Crunch is brought to you by, and bestie they ATE ๐:
- 2014-2024 Daemon Developers and contributors
- 2017-2018 Alexander Suvorov and Unity Software Inc.
- 2010-2017 Richard Geldreich, Jr. and Binomial LLC and contributors
๐ REPORTING BUGS ๐
found a bug? not on my watch. please report bugs here: https://github.com/DaemonEngine/crunch/issues
okay that's the whole page bestie, you're officially crunch-pilled ๐ซถ this was the October 2025 edition of CRUNCH(1), no cap โ go compress something gorgeous ๐ โจ
๐ฆ where this page comes from
- ubuntu stonking: crunch-dxtc 0.56.2-1 ยท Zlib
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms