---
name: "grfcodec"
section: "1"
platform: "linux"
package: "grfcodec"
version: "6.1.0-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/grfcodec"
---

# grfcodec(1)

A tool to convert a GRF file into graphics files and meta data, and vice versa.

## NAME

**GRFCodec** – A tool to convert a GRF file into graphics files and meta data, and vice versa.

## SYNOPSIS

**grfcodec** \[**-sv**\] \[**-d** \| **-e**\] \[options\] *GRF‐file* \[Directory\]

\<GRF‐File\> denotes the .GRF file you want to work on, e.g. TRG1.GRF

\<Directory\> is where the individual sprites should be saved. If omitted, they will default to a subdirectory called sprites/.

## OPTIONS

- **-**?

  Display the help message.

- **-e**

  Encode a GRF file. The *GRF‐file* to pass is the file where to encode to. The source of the GRF‐file, i.e. the .nfo, will be looked for in *sprites/GRF‐file.nfo*. All graphics files will be searched for relative from the location of the GRF‐file.

- **-d**

  Decode a GRF file. The *GRF‐file* to pass is the file to decode. The result will be in *sprites/GRF‐file.nfo* and *sprites/GRF‐file.png*.

- **-s**

  Silences the progress output in interactive mode

- **-v**

  Display the version.

Options for decoding:

- **-w** *num*

  Write spritesheets files with the given width (default 800, minimum 16)

- **-h** *num*

  Split spritesheets when they reach this height (default no limit, minimum 16)

- **-b** *num*

  Organize sprites in boxes of this size (default 16)

- **-o** *ssf*

  Sets the format of generated spritesheets.  See **-o** ? for a list.

- **-p** *pal*

  Use this palette instead of the default.  See **-p** ? for a list.

- **-t**

  Disable decoding of plain text characters as strings.

- **-x**

  Disable production of unquoted escape sequences.

- **-xx**

  Disable production of both quoted and unquoted escape sequences.

  This has the side effect of producing a version 6 .nfo, instead of a version 7 .nfo.

- **-X**

  List sprite numbers in the image file in hex.

Options for encoding:

- **-c**

  Crop extraneous transparent blue from real sprites

- **-u**

  Save uncompressed data (probably not a good idea)

- **-q**

  Suppress warning messages

- **-g** *num*

  Create a GRF file with the given container version. Valid versions are 1 and 2, where the latter allows bigger sprites, larger sounds, and multiple zoom levels and bit depths for the sprites.

- **-n**

  Try both compression algorithms and use the most efficient. This might cause trouble when loading the NewGRF in TTDPatch.

Options for both encoding and decoding:

- **-m** *num*

  Apply colour translation to all sprites except character‐glyphs.

- **-M** *num*

  Apply colour translation to all sprites.

  If both of these are specified, only the last is obeyed. **-m** ? or **-M** ? for a list of colour translations.

## SEE ALSO

The documentation in */usr/share/doc/grfcodec/*

## AUTHOR

GRFCodec was written by Josef Drexler.

This manual page was written by Remko Bijker.

## COPYRIGHT

GRFCodec is Copyright (C) 2000‐2005 by Josef Drexler \<josef@ttdpatch.net\>
