Skip to content

CLI reference

This reference is generated from cli-spec.json, the machine-readable specification the rendlio build emits, so it cannot drift from the binary. It is a compatibility promise from first public release: flags are never repurposed, removals go through one minor version of deprecation warnings, and exit-code meanings never change.

rendlio <command> [arguments] [options]
  • Binary/command name: rendlio. Distributed as a .NET global tool (Rendlio.Tool), self-contained archives per platform, and a container image — see Downloads.
  • An unknown command prints usage on stderr and exits 3.
  • Stream discipline: all human and diagnostic text goes to stderr. stdout carries only document bytes, and only when -o - is used. Report JSON goes to the --report path (or stays a stderr summary).
CommandSummary
rendlio convertConvert a workbook to PDF, PDF/A-2b or PNG.
rendlio diagnoseAnalyse a workbook and report what a conversion would do — never writes documents, never exposes cell contents.
rendlio licenseInspect or verify the licence Rendlio would use.
rendlio fontsPrint the resolved font table.
rendlio versionPrint the version banner.

These apply to every command.

OptionValueDefaultEnv varMilestoneMeaning
--licensePATH|communityRENDLIO_LICENSEM1Licence file to use — the first step of licence resolution. community asserts the Community tier when a community licence file is present.

Precedence: flag > environment variable > default. The effective values are echoed into report.options, so a report always shows what actually applied.

VariableMeaning
RENDLIO_LICENSELicence file path or inline licence text (step 2 of licence resolution).
RENDLIO_FONTS_DIRPath list of user font directories. The environment form of --fonts-dir.
RENDLIO_CULTURESame as --culture.
RENDLIO_RECALCULATESame as --recalculate (strict-v1 planned, M4).
RENDLIO_TIMEOUTWall-clock timeout, whole seconds. The environment form of --timeout.
RENDLIO_MAX_MEMORYMemory soft cap, in bytes — note that the --max-memory flag takes MB.
RENDLIO_MAX_*Every quantitative resource-limit override — the full registry (file size, ZIP entries, XML depth, cell counts, …).
RENDLIO_SANDBOX=1 enables sandbox hardening for untrusted-upload hosts: user font directories and system fonts are hard-disabled (bundled fonts only), --recalculate=strict-v1 is refused, the default timeout tightens to 60 s, and any option the sandbox forbids fails with W8112, exit 3 — rather than being silently ignored.
NO_COLORDisables colored stderr output.

Normative — the meanings never change.

CodeMeaning
0clean
1rendered with warnings
2unsupported content present
3invalid input
4resource limit hit
5internal error

Scripting contract: exit <= 2 means the document exists and is complete per the report. The one exception is a --recalculate=strict-v1 refusal, which produces no document — scripts using strict-v1 must check result.status. Above that nothing is written: on 3 the message says exactly what was invalid and the remedy; on 4 partial outputs are deleted and the message names the limit and its override; 5 is a bug, never silently swallowed — it asks you to file an issue with a --verbose log. CI users typically treat <= 1 as pass and 2 as review; see the exit-code contract for ready-made pipeline shapes.

The engine resolves at most one licence source — first match wins, no merging:

  1. --license <path>
  2. RENDLIO_LICENSE (a file path or an inline licence text)
  3. ./Rendlio.license (current working directory)
  4. ~/.rendlio/Rendlio.license
  5. None ⇒ watermark mode + W9001

--license community asserts the Community tier when a community licence file is present; bare community without a minted file is invalid (exit 3) — the free tier still requires the self-serve-minted file. Details: Licensing guide.

At the end of every convert and diagnose, a one-screen summary derived only from the report:

Rendlio 0.3.1 → invoice.pdf (7 pages, 262 ms)
~ 1 approximated: timePeriod conditional format (evaluated at 2026-08-19)
✘ 2 unsupported: stacked bar chart — Summary!chart2 (see report)
⚠ fonts: 'Aptos Narrow' missing → 'Carlito' substituted (layout may shift)
exit 2 · full report: report.json · docs: rendlio.com/docs/report

Convert-mode reports carry deviations only, so no “features rendered” line is printed. Plain ASCII fallback when the console lacks Unicode. --quiet suppresses all but errors.

From first public release: flags are never repurposed; removals go through one minor version of deprecation warnings; exit-code meanings never change; the report and IR schemas are versioned independently (see compatibility report).

View as Markdown