FreeBSD Manual Pages
TIFFCP(1) LibTIFF TIFFCP(1) NAME tiffcp - copy (and possibly convert) a TIFF file SYNOPSIS tiffcp [ options ] src1.tif a| srcN.tif dst.tif DESCRIPTION tiffcp combines one or more files created according to the Tag Image File Format, Revision 6.0 into a single TIFF file. Because the output file may be compressed using a different algorithm than the input files, tiffcp is most often used to convert between different compression schemes. By default, tiffcp will copy all the understood tags in a TIFF directory of an input file to the associated directory in the output file. tiffcp can be used to reorganize the storage characteristics of data in a file, but it is explicitly intended to not alter or convert the image data content in any way. OPTIONS -a Append to an existing output file instead of overwriting it. -b image subtract the following monochrome image from all others processed. This can be used to remove a noise bias from a set of images. This bias image is typically an image of noise the camera saw with its shutter closed. -B Force output to be written with Big-Endian byte order. This option only has an effect when the output file is created or overwritten and not when it is appended to. -C Suppress the use of "strip chopping" when reading images that have a single strip/tile of uncompressed data. -c Specify the compression to use for data written to the output file: -c none for no compression, -c packbits for PackBits compression, -c lzw for Lempel-Ziv & Welch compression, -c zip for Deflate compres- sion, -c lzma for LZMA2 compression, -c jpeg for baseline JPEG com- pression, -c g3 for CCITT Group 3 (T.4) compression, -c g4 for CCITT Group 4 (T.6) compression, or -c sgilog for SGILOG compression. By default tiffcp will compress data according to the value of the Compression tag found in the source file. The CCITT Group 3 and Group 4 compression algorithms can only be used with bilevel data. Group 3 compression can be specified together with several T.4-spe- cific options: * 1d for 1-dimensional encoding, * 2d for 2-dimensional encoding, and * fill to force each encoded scanline to be zero-filled so that the terminating EOL code lies on a byte boundary. Group 3-specific options are specified by appending a :-separated list to the g3 option; e.g. -c g3:2d:fill to get 2D-encoded data with byte-aligned EOL codes. LZW, Deflate and LZMA2 compression can be specified together with a predictor value. A predictor value of 2 causes each scanline of the output image to undergo horizontal differencing before it is en- coded; a value of 1 forces each scanline to be encoded without dif- ferencing. A value 3 is for floating point predictor which you can use if the encoded data are in floating point format. LZW-specific options are specified by appending a :-separated list to the lzw op- tion; e.g. -c lzw:2 for LZW compression with horizontal differenc- ing. Deflate and LZMA2 encoders support various compression levels (or encoder presets) set as character p and a preset number. p1 is the fastest one with the worst compression ratio and p9 is the slowest but with the best possible ratio; e.g. -c zip:3:p9 for Deflate en- coding with maximum compression level and floating point predictor. For the Deflate codec, and in a libtiff build with libdeflate en- abled, p12 is actually the maximum level. For the Deflate codec, and in a libtiff build with libdeflate en- abled, s0 can be used to require zlib to be used, and s1 for libde- flate (defaults to libdeflate when it is available). -f fillorder Specify the bit fill order to use in writing output data. By de- fault, tiffcp will create a new file with the same fill order as the original. Specifying -f lsb2msb will force data to be written with the FillOrder tag set to LSB2MSB, while -f msb2lsb will force data to be written with the FillOrder tag set to MSB2LSB. -i Ignore non-fatal read errors and continue processing of the input file. -l Specify the length of a tile (in pixels). tiffcp attempts to set the tile dimensions so that no more than 8 kilobytes of data appear in a tile. -L Force output to be written with Little-Endian byte order. This op- tion only has an effect when the output file is created or overwrit- ten and not when it is appended to. -M Suppress the use of memory-mapped files when reading images. -o offset Set initial directory offset. -p Specify the planar configuration to use in writing image data that has one 8-bit sample per pixel. By default, tiffcp will create a new file with the same planar configuration as the original. Specifying -p contig will force data to be written with multi-sample data packed together, while -p separate will force samples to be written in separate planes. -r Specify the number of rows (scanlines) in each strip of data written to the output file. By default (or when value 0 is specified), tiffcp attempts to set the rows/strip that no more than 8 kilobytes of data appear in a strip. If you specify special value -1 it will results in infinite number of the rows per strip. The entire image will be the one strip in that case. -s Force the output file to be written with data organized in strips (rather than tiles). -t Force the output file to be written with data organized in tiles (rather than strips). options can be used to force the resultant im- age to be written as strips or tiles of data, respectively. -w Specify the width of a tile (in pixels). :program::tiffcp attempts to set the tile dimensions so that no more than 8 kilobytes of data appear in a tile. -x Force the output file to be written with PAGENUMBER value in se- quence. -8 Write BigTIFF instead of classic TIFF format. -,= character substitute character for , in parsing image directory indices in files. This is necessary if filenames contain commas. Note that -,= with whitespace immediately following will disable the special meaning of the , entirely. See examples. -m size Set maximum memory allocation size (in MiB). The default is 256MiB. Set to 0 to disable the limit. EXAMPLES The following concatenates two files and writes the result using LZW encod- ing: tiffcp -c lzw a.tif b.tif result.tif To convert a G3 1d-encoded TIFF to a single strip of G4-encoded data the following might be used: tiffcp -c g4 -r 10000 g3.tif g4.tif (1000 is just a number that is larger than the number of rows in the source file.) To extract a selected set of images from a multi-image TIFF file, the file name may be immediately followed by a , separated list of image directory indices. The first image is always in directory 0. Thus, to copy the 1st and 3rd images of image file album.tif to result.tif: tiffcp album.tif,0,2 result.tif A trailing comma denotes remaining images in sequence. The following com- mand will copy all image with except the first one: tiffcp album.tif,1, result.tif Given file CCD.tif whose first image is a noise bias followed by images which include that bias, subtract the noise from all those images following it (while decompressing) with the command: tiffcp -c none -b CCD.tif CCD.tif,1, result.tif If the file above were named CCD,X.tif, the -,= option would be required to correctly parse this filename with image numbers, as follows: tiffcp -c none -,=% -b CCD,X.tif CCD,X%1%.tif result.tif SEE ALSO pal2rgb (1), tiffinfo (1), tiffcmp (1), tiffmedian (1), tiffsplit (1), libtiff (3tiff) AUTHOR LibTIFF contributors COPYRIGHT 1988-2025, LibTIFF contributors 4.7 Sep 11, 2025 TIFFCP(1)
NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | SEE ALSO | AUTHOR | COPYRIGHT
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tiffcp&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>
