The export command creates a JSON file containing a list of installed packages, which can later be imported on another system.
Syntax
winget export <output-file> [options]
Required Arguments
Path where JSON export file will be created
Options
Output file path (alternative to positional argument)
Export only packages from specified source
Include version information in export
--accept-source-agreements
Accept all source agreements without prompting
Examples
Export all packages:
winget export packages.json
Export with versions:
winget export packages.json --include-versions
Export from specific source:
winget export winget-packages.json --source winget
Export accepting agreements:
winget export packages.json --accept-source-agreements
Without Versions
{
"$schema": "https://aka.ms/winget-packages.schema.2.0.json",
"WinGetVersion": "1.6.3482",
"CreationDate": "2024-03-04T10:30:00.000-08:00",
"Sources": [
{
"SourceDetails": {
"Name": "winget",
"Type": "Microsoft.PreIndexed.Package",
"Argument": "https://cdn.winget.microsoft.com/cache"
},
"Packages": [
{
"PackageIdentifier": "Microsoft.PowerToys"
},
{
"PackageIdentifier": "Microsoft.VisualStudioCode"
}
]
}
]
}
With Versions
{
"$schema": "https://aka.ms/winget-packages.schema.2.0.json",
"WinGetVersion": "1.6.3482",
"CreationDate": "2024-03-04T10:30:00.000-08:00",
"Sources": [
{
"SourceDetails": {
"Name": "winget",
"Type": "Microsoft.PreIndexed.Package",
"Argument": "https://cdn.winget.microsoft.com/cache"
},
"Packages": [
{
"PackageIdentifier": "Microsoft.PowerToys",
"Version": "0.71.0"
},
{
"PackageIdentifier": "Microsoft.VisualStudioCode",
"Version": "1.80.0"
}
]
}
]
}
Use Cases
System Migration
Export from old system:
winget export old-system.json --include-versions
Import on new system:
winget import old-system.json
Backup
Create periodic backups:
winget export "backup-%date%.json" --include-versions
Team Standardization
Export standard toolset:
winget export team-tools.json
Development Environment
Export dev tools:
winget export dev-environment.json --include-versions
Version Behavior
Without —include-versions
Import installs latest available versions:
{
"PackageIdentifier": "Microsoft.PowerToys"
}
With —include-versions
Import installs specific versions:
{
"PackageIdentifier": "Microsoft.PowerToys",
"Version": "0.71.0"
}
Exit Codes
0 - Success
0x8A150026 - Export file write failed
0x8A150027 - No packages to export
Exported files use JSON format compatible with winget import command.
Only packages installed via WinGet or tracked by WinGet sources are exported.