--container=0|1
0 = Do not encode using container format (strip Exif/XMP/JPEG bitstream reconstruction data).1 =
Force using container format (default: use only if needed).
--jpeg_store_metadata=0|1
If --lossless_jpeg=1, store JPEG reconstruction metadata in the JPEG XL container (for lossless
reconstruction of the JPEG codestream).(default: 1)
-d distance, --distance=distance
Max. butteraugli distance, lower = higher quality. 0.0 = mathematically lossless. Default for
already-lossy input (JPEG/GIF). 1.0 = visually lossless. Default for other input. Recommended range:
0.5 .. 3.0. Mutually exclusive with --quality.
-q quality, --quality=quality
Quality setting (is remapped to --distance). Range: -inf .. 100. 100 = mathematically lossless.
Default for already-lossy input (JPEG/GIF). Other input gets encoded as per --distance default.
Positive quality values roughly match libjpeg quality. Mutually exclusive with --distance.
-e effort, --effort=effort
Encoder effort setting. Range: 1 .. 9. Default: 7. Higher number is more effort (slower).
Recognized effort settings, from fastest to slowest, are:
• 1 or “lightning”
• 2 or “thunder”
• 3 or “falcon”
• 4 or “cheetah”
• 5 or “hare”
• 6 or “wombat”
• 7 or “squirrel” (default)
• 8 or “kitten”
• 9 or “tortoise”
--brotli_effort=B_EFFORT
Brotli effort setting. Range: 0 .. 11. Default: 9. Higher number is more effort (slower).
--faster_decoding=0|1|2|3|4
Favour higher decoding speed. 0 = default, higher values give higher speed at the expense of quality
-p, --progressive
Enable progressive/responsive decoding.
--premultiply=-1|0|1
Force premultiplied (associated) alpha.
--keep_invisible=0|1
Force disable/enable preserving color of invisible pixels (default: 1 if lossless, 0 if lossy).
--group_order=0|1
Order in which 256x256 groups are stored in the codestream for progressive rendering. Value not
provided means encoderdefault, 0 means scanlineorder, 1 means center-firstorder.
--center_x=0..XSIZE
Determines the horizontal position of center for the center-first group order. The value -1 means usethemiddleoftheimage, other values [0..xsize) set this to a particular coordinate.
--center_y=0..YSIZE
Determines the vertical position of center for the center-first group order. The value -1 means usethemiddleoftheimage, other values [0..ysize) set this to a particular coordinate.
--progressive_ac
Use the progressive mode for AC.
--qprogressive_ac
Use the progressive mode for AC with shift quantization.
--progressive_dc=num_dc_frames
Progressive-DC setting. Valid values are: -1, 0, 1, 2.
-m=0|1, --modular=0|1
Use modular mode (not provided = encoder chooses, 0 = enforce VarDCT, 1 = enforce modular mode).
-j=0|1, --lossless_jpeg=0|1
If the input is JPEG, losslessly transcode JPEG, rather than using reencode pixels.
--jpeg_reconstruction_cfl=0|1
Enable/disable chroma-from-luma (CFL) for lossless JPEG reconstruction.
--num_threads=N
Number of worker threads (-1 == use machine default, 0 == do not use multithreading).
--num_reps=N
How many times to compress. (For benchmarking).
--photon_noise=ISO3200
Adds noise to the image emulating photographic film noise. The higher the given number, the grainier
the image will be. As an example, a value of 100 gives low noise whereas a value of 3200 gives a lot
of noise. The default value is 0.
--dots=0|1
Force disable/enable dots generation. (not provided = default, 0 = disable, 1 = enable).
--patches=0|1
Force disable/enable patches generation. (not provided = default, 0 = disable, 1 = enable).
--resampling=-1|1|2|4|8
Resampling for extra channels. Default of -1 applies resampling only for low quality. Value 1 does no
downsampling (1x1), 2 does 2x2 downsampling, 4 is for 4x4 downsampling, and 8 for 8x8 downsampling.
--ec_resampling=1|2|4|8
Resampling for extra channels. Default of -1 applies resampling only for low quality. Value 1 does no
downsampling (1x1), 2 does 2x2 downsampling, 4 is for 4x4 downsampling, and 8 for 8x8 downsampling.
--already_downsampled
Do not downsample the given input before encoding, but still signal that the decoder should upsample.
--epf=-1|0|1|2|3
Edge preserving filter level, -1 to 3. Value -1 means: default (encoder chooses), 0 to 3 set a
strength.
--gaborish=0|1
Force disable/enable the gaborish filter. (not provided = default, 0 = disable, 1 = enable).
--intensity_target=N
Upper bound on the intensity level present in the image in nits. Leaving this set to its default of 0
lets libjxl choose a sensible default value based on the color encoding.
-x=key=value, --dec-hints=key=value
color_space indicates the ColorEncoding, see Description(); icc_pathname refers to a binary file
containing an ICC profile.
--override_bitdepth=0=use from image, 1-32=override If nonzero, store the given bit depth in the JPEG XL
file metadata (1-32), instead of using the bit depth from the original input image.
-I F, --iterations=F
[modular encoding] Fraction of pixels used to learn MA trees as a percentage. -1 = default, 0 = no MA
and fast decode, 50 = default value, 100 = all.Higher values use more encoder memory.
-C K, --modular_colorspace=K
[modular encoding] color transform: -1=default, 0=RGB (none), 1-41=RCT (6=YCoCg, default: try
several, depending on speed)
-g K, --modular_group_size=K
[modular encoding] group size: -1 == default. 0 ⇒ 128, 1 ⇒ 256, 2 ⇒ 512, 3 ⇒ 1024
-P K, --modular_predictor=K
[modular encoding] predictor(s) to use:
• 0=zero,
• 1=left,
• 2=top,
• 3=avg0,
• 4=select,
• 5=gradient,
• 6=weighted,
• 7=topright,
• 8=topleft,
• 9=leftleft,
• 10=avg1,
• 11=avg2,
• 12=avg3,
• 13=toptop predictive average
• 14=mix 5 and 6,
• 15=mix everything.
Default 14, at slowest speed default 15
-E K, --modular_nb_prev_channels=K
[modular encoding] number of extra MA tree properties to use
--modular_palette_colors=K
[modular encoding] Use color palette if number of colors is smaller than or equal to this, or -1 to
use the encoder default.
--modular_lossy_palette
[modular encoding] quantize to a palette that has fewer entries than would be necessary for perfect
preservation; for the time being, it is recommended to set --palette=0 with this option to use the
default palette only
-X PERCENT, --pre-compact=PERCENT
[modular encoding] Use Global channel palette if the number of colors is smaller than this percentage
of range. Use 0-100 to set an explicit percentage, -1 to use the encoder default.
-Y PERCENT, --post-compact=PERCENT
[modular encoding] Use Local (per-group) channel palette if the number of colors is smaller than this
percentage of range. Use 0-100 to set an explicit percentage, -1 to use the encoder default.
--codestream_level=K
The codestream level. Either -1, 5 or 10.
-R K, --responsive=K
[modular encoding] do Squeeze transform, 0=false, 1=true (default: true if lossy, false if lossless)
-V --version:: Print encoder library version number and exit.
--quiet
Be more silent
--frame_indexing=string
If non-empty, a string matching ^(0*|1[01]*). If this string has a 1 in i-th position, then the i-th
frame will be indexed in the frame index box.
-v, --verbose
Increases verbosity. Can be repeated to increase it further, and also applies to --help.
-h, --help
Displays the options that cjxl supports. On its own, it will only show basic options. It can be
combined with -v or -v -v to show increasingly advanced options as well.