Resource page for sng 1.1.0

12 Jan 2016


Enable lossless editing of PNGs via a textual representation.

SNG (Scriptable Network Graphics) is a minilanguage designed specifically to represent the entire contents of a PNG (Portable Network Graphics) file in an editable form. Thus, SNGs representing elaborate graphics images and ancillary chunk data can be readily generated or modified using only text tools.

SNG is implemented by a compiler/decompiler called sng that losslessly translates between SNG and PNG.

Downloads are available from SNG's SourceForge page.

(The author, Eric S. Raymond, is a credited contributor to the libpng reference library, and also maintains gif2png. For more information on the PNG format and associated tools, see the official PNG website)


READMEroadmap file
TODOto-do file
sng-1.1.0.tar.gzgzipped source tarball
ChangeLogchange log
NEWSproject news
COPYINGproject license
sng.htmlHTML rendering of sng.1

If you appreciate this code (and especially if you make money by using it) please support me on Patreon.

Recent Changes

	* Compatible with libpng 1.2.x and newer (tested with 1.2.50, 1.4.12,
	  1.5.17 and 1.6.3)
	* Fix locating X color database on Mac OS X
	* Fix sCAL handling (converting sng to png incorrectly swapped width
	  and height)
	* Fix several bugs in base64 handling, and clarify that it differs from
	* Fix dumping and validation of sRGB intent value.
	* Fix handling of iTXt when 'translated' contained non-latin-1 data
	  (it can contain arbitrary UTF-8 data)
	* Fix support for long text blocks
	* Fix validation of iTXt blocks
	* Fix failure when multiple sng files where given on command line.