The binaries to create Swiss QR Codes are qrinvoice_swissqrcode.exe and qrinvoice_swissqrcode_console.exe (if you prefer a console application).

Type qrinvoice_swissqrcode.exe --help in order to see available options and arguments:

qrinvoice_swissqrcode.exe [OPTION...] [optional stdin]
Table 1. Options
Option Description Default Value


Print help

--basepath <value> -a <value>

Base path for all files. If set, all non-absolute paths are resolved relative to this base path

--inputfile <value> -b <value>

Input data (*) file name / path , if not specified, input is read from standard input.

--inputencoding <value>

Input encoding (UTF-8 | ISO-8859-1)


--inputformat <value> -c <value>

Input format (JSON|CSV)


--inputbase64 -d

Input is base64 encoded


--outputfile <value> -e <value>

Output file name, if not specified output is written into standard output

--outputformat <value> -f <value>

Output format (PNG|JPG)


--outputbase64 -g

Output is written base64 encoded


--desiredqrcodesize <value> -h <value>

Desired QR code size in pixels.

Please note that the size (pixels) varies - desired size is just a hint, actual number of pixels are always a multiple of the QR code modules in order to produce sharp results without anti-aliasing.

Render size is calculated as: nr_of_modules * round(desiredqrcodesize / nr_of_modules). Render size will be at least nr_of_modules.

1 (as few pixels as possible)

--loglevel <value> -x <value>



--logfile <value> -y <value>

Log file name, if log should be printed to log file instead of standard output (if no output file is used, log is written to log.txt as default value)

--lazylogfile=<value> -z <value>

If log file should be lazily initialized. If no logging occurs, file is not created in lazy mode.


--argumentsfile <value>

Arguments file name. As an alternative to passing arguments in the command line, arguments can be put into a a separate file. The only command line argument to set in this is case is 'argumentsfile'


The input data (*) if not provided by inputfile.

*) Data can be passed as JSON or CSV document. Please make sure that UTF-8 is used as encoding, otherwise specify it with the option --inputencoding. Input can be passed as base64 encoded string in case you encounter encoding issues, especially when passing via stdin.


PNG from JSON Input File to File

qrinvoice_swissqrcode.exe --inputfile inputdata.json --outputfile swissqrcode.png --logfile swissqrcode.log