Common workflows
The following examples cover the most frequent use cases. Each builds on the same core pattern: specify a QVW file, an output folder, and a Qlik Cloud context. In all examples, --outputDir is the output root. QV2QS creates a subfolder named after the QVW file automatically (for example, ./output/Sales/). All of these workflows can also be performed through the web-based wizard. For the guided approach, see Wizard steps.
Deploy to Qlik Cloud with data
The standard migration workflow. QV2QS generates the PRJ folder, converts the UI, uploads the QVW for binary data load, reloads the app in Qlik Cloud, and produces an Excel report. The uploaded QVW is deleted and the original load script is restored after reload.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qsAppName "Sales" --qlikContext my-tenant --autoBinary --reload --reportXlsx
Export a QVF file
QV2QS builds the app using the Qlik Cloud engine, exports the result as a QVF file, then deletes the cloud app. The exported QVF can be imported into a different Qlik Cloud tenant.
Importing QV2QS-generated QVF files into Qlik Sense Enterprise Client-Managed is not tested across all versions or officially supported and is discouraged. For details, see Qlik Sense Enterprise Client-Managed compatibility.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qlikContext my-tenant --exportQvf --reload --autoBinary --reportXlsx
Batch migrate an entire QlikView estate
Scan one or more folders for all QVW and PRJ pairs, convert the pairs in parallel, and deploy each to Qlik Cloud. Use --batchWorkers to control concurrency.
QV2QS.exe --batchDir C:\QVApps --outputDir C:\Output --generatePrj --qlikContext my-tenant --autoBinary --reload --batchWorkers 4 --reportXlsx
Preserve QlikView pixel layout
Enable fixed canvas mode to retain exact QlikView object positions and sheet wallpapers. Adjust scale factors to control how the layout maps to Qlik Sense screen dimensions.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qlikContext my-tenant --autoBinary --reload --fixedSheetCanvas --fixedSheetCanvasScale 1.5 --fixedSheetCanvasObjectScale 1.5
Update a previously converted app
Re-run the conversion against an existing Qlik Cloud app without creating a new one. QV2QS reuses the app ID from the previous run.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qlikContext my-tenant --reuseAppId --autoBinary --reload --reportXlsx
Update an app while preserving its load script
Re-run the conversion to update the UI layer of an existing app without overwriting the load script. The target app keeps its existing data connections and reload logic. A no-data backup is exported automatically before the update. Add --reload to execute the existing script and refresh data.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qlikContext my-tenant --reuseAppId --preserveTargetAppScript --reportXlsx
Update an app while preserving its variables
Re-run the conversion to update the UI layer and load script of an existing app without overwriting the variables. Combine with --preserveTargetAppScript to keep both the load script and variables from the target app intact.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qlikContext my-tenant --reuseAppId --preserveTargetAppVariables --reportXlsx
Set up Qlik Cloud authentication
Configure a qlik-cli context before running any conversion. The interactive setup prompts for a tenant URL and API key and stores the credentials for subsequent runs.
QV2QS.exe --setupQlikAuth
Programmatic usage (CI/CD)
QV2QS supports direct authentication without pre-created qlik-cli contexts. Pass the tenant URL and API key inline. QV2QS validates the credentials and injects authentication headers into every qlik-cli call. No context file is created or modified. Include --accept-eula to accept the license agreement without an interactive prompt.
QV2QS.exe --accept-eula --generatePrj --qvw Sales.qvw --outputDir ./output --qlikTenantUrl https://my-tenant.us.qlikcloud.com --qlikApiKey eyJhbG... --qsAppName "Sales" --autoBinary --reload --plain
This mode is safe for concurrent execution across multiple tenants and users. The API key is not written to disk and does not appear in log files.
Credentials can also be set as environment variables:
set QV2QS_QLIK_TENANT_URL=https://my-tenant.us.qlikcloud.com
set QV2QS_QLIK_API_KEY=eyJhbG...
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --qsAppName "Sales" --autoBinary --reload --plain
Local build without Qlik Cloud
Generate the converted output and conversion report on disk without connecting to Qlik Cloud. Local only mode is intended for migration assessment, pre-deployment review, and offline environments. The local build output does not include media uploads, background image resolution, alternate state creation, or sheet publishing. For a complete deployment, use Build to Qlik Cloud or Export QVF mode. For details on Local only limitations and use cases, see How conversion works.
QV2QS.exe --generatePrj --qvw Sales.qvw --outputDir ./output --unbuildOnly