Setting up a new Windows 11 computer or recovering from a clean OS reinstallation traditionally required hours of manual software provisioning—downloading dozens of installer executables from disparate websites, clicking through setup wizards, and unchecking bundled bloatware. The built-in Windows Package Manager (winget) transforms this process into a seamless automated workflow. By utilizing the winget export and winget import commands, you can generate a lightweight JSON manifest of all installed software and reinstall your entire application stack with a single command.
Understanding How winget Export and Import Works
Windows Package Manager queries your installed software against official Microsoft Store repositories and the curated open-source winget community repository. When you execute an export, winget generates a standardized JSON manifest file containing the exact unique Package IDs (such as Mozilla.Firefox, 7zip.7zip, or Git.Git) and version pins. When imported on a new machine, winget parses the JSON file, downloads verified installation packages directly from vendor content delivery networks, and installs them silently in parallel.
Step-by-Step: Exporting Your Installed Application Manifest
1. Open Windows Terminal as Administrator
- Press Win + X on your keyboard.
- Select Terminal (Admin) or PowerShell (Admin).
2. Run the Export Command
To export a complete inventory of your installed software to a JSON manifest on your desktop or flash drive, execute:
winget export -o "C:\Users\Default\Desktop\apps_backup.json"
Replace the file path with your target destination (e.g., an external backup drive or OneDrive folder).
3. Exporting with Exact Version Pinning
By default, winget exports package entries configured to install the latest available version upon restore. If your workflow requires exact version consistency (such as specific developer runtime environments or IDE builds), pass the --include-versions flag:
winget export -o "D:\dev_environment.json" --include-versions
Step-by-Step: Restoring Applications on a Fresh Windows 11 Machine
Once you complete a fresh Windows 11 setup or transition to a new laptop, restoring your complete software library takes only two steps:
1. Launch Terminal with Administrative Privileges
Elevated permissions allow winget to bypass User Account Control (UAC) prompts for each individual installer, enabling fully automated silent installations.
2. Run the Import Command
Point winget to your saved JSON manifest file:
winget import -i "D:\apps_backup.json" --accept-package-agreements --accept-source-agreements
Command Parameter Breakdown:
-i <file>: Specifies the path to the input JSON manifest.--accept-package-agreements: Automatically accepts software license terms (EULAs), preventing installation scripts from pausing to ask for manual user confirmation.--accept-source-agreements: Automatically approves Microsoft Store and winget community repository terms of service.
Editing and Curating the JSON Manifest File
The exported manifest is human-readable JSON. You can open it in Visual Studio Code or Notepad to curate your baseline installation stack:
{
"$schema": "https://aka.ms/winget-packages.schema.2.0.json",
"CreationDate": "2026-10-21T21:20:00.000-00:00",
"Sources": [
{
"Packages": [
{ "PackageIdentifier": "Mozilla.Firefox" },
{ "PackageIdentifier": "Google.Chrome" },
{ "PackageIdentifier": "VideoLAN.VLC" },
{ "PackageIdentifier": "7zip.7zip" },
{ "PackageIdentifier": "Microsoft.VisualStudioCode" }
],
"SourceDetails": {
"Name": "winget",
"Type": "Microsoft.PreIndexed.Package"
}
}
]
}
You can remove unnecessary utilities or add new software package identifiers manually, creating standardized deployment templates for corporate workstations, developer environments, or home family PCs.