qgis_process
Run QGIS Processing algorithms from the command line
TLDR
SYNOPSIS
qgis_process [--json] [--verbose] [--no-python] [--skip-loading-plugins] \<command\> [algorithmid] [**--** PARAM=VALUE ..._]
DESCRIPTION
qgis_process is a standalone command-line tool for running QGIS Processing algorithms without launching the QGIS GUI. It provides access to the full Processing framework including native QGIS algorithms, GDAL, GRASS GIS, SAGA, and any third-party plugin algorithms, all from the terminal.This enables batch processing of geospatial data via shell scripts, automation with cron jobs, integration with external tools and pipelines, and headless server usage for geoprocessing workflows. Algorithm parameters are passed after a -- separator using PARAM=VALUE syntax, and repeated parameters create ordered lists. Special parameters include --ELLIPSOID, --PROJECT_PATH, --distance_units, and --area_units for controlling coordinate reference and measurement settings.The tool ships with QGIS 3.14 and later as part of the standard installation.
PARAMETERS
list
List all available processing algorithms, grouped by provider.help algorithmid_
Display help and parameter descriptions for a specific algorithm.run algorithmid [**--** PARAM=VALUE ..._]
Execute an algorithm with the given parameters. Parameters follow -- using KEY=VALUE syntax. A trailing - reads parameters from stdin as JSON.plugins
List available and active processing provider plugins.plugins enable name
Activate a specific plugin provider.plugins disable name
Deactivate a specific plugin provider.--json
Format output as JSON.--verbose
Enable verbose logging output.--no-python
Disable Python support for faster startup.--skip-loading-plugins
Skip loading plugins for faster startup.-h, --help
Display help information.-v, --version
Show version details.
CONFIGURATION
On headless servers without a display, set the environment variable before running:
CAVEATS
On headless systems, QT_QPA_PLATFORM=offscreen must be set or the tool will fail to start. Processing provider plugins (GRASS, SAGA) are not loaded automatically on systems where the QGIS GUI has never been launched and must be enabled manually. Loading Python and plugins adds startup overhead; use --no-python and --skip-loading-plugins when those features are not needed. This tool exposes only the Processing framework and does not replace the full QGIS desktop application.
HISTORY
qgis_process was proposed in February 2019 by Nyall Dawson as QGIS Enhancement Proposal #140, originally named qgis_transform before being renamed after community discussion. Development was sponsored by the Swedish QGIS User Group. The pull request was merged in April 2020 and the tool first shipped with QGIS 3.14 "Pi" in June 2020. It has been continuously enhanced in subsequent releases with features like plugin management and JSON I/O.
