Visual Studio takes 31 GB, and most of it is workloads you never chose
The installer bundles more than you asked for, and the caches around it are larger again. What to remove and what breaks if you do.
Visual Studio is almost always the largest single thing on a Windows development machine, and the number in Settings, Apps is not the number on the disk.
Where it all is
| Folder | What it is | Removable |
|---|---|---|
Program Files\Microsoft Visual Studio | The IDE and every installed workload | Through the installer only |
ProgramData\Package Cache | Installer packages kept for repair | With the installer's own cleanup |
AppData\Local\Microsoft\VisualStudio | Per version settings, extensions, caches | Selectively |
.vs in each solution | Per solution cache and IntelliSense database | Yes, rebuilt on open |
Program Files\dotnet | SDKs, one per version installed | With the uninstall tool |
Workloads are where the 31 GB is
A default install of the desktop workload is a few gigabytes. What takes it to thirty is ticking boxes: mobile, game development, Azure, data science. Each pulls in its own SDKs and emulators, and nothing prompts you to review them afterwards.
- Open Visual Studio Installer.
- Choose Modify on the installed version.
- Read the Installation details panel on the right, which lists every component with its size.
- Untick workloads you have not used this year, then Modify.
That panel is the single most useful screen for this, and it is two clicks from the Start menu and almost nobody opens it.
The caches, in order of what they cost
# Per solution caches across every project
Get-ChildItem C:\ -Recurse -Directory -Filter .vs -Force -ErrorAction SilentlyContinue |
ForEach-Object {
$s = (Get-ChildItem $_.FullName -Recurse -Force -File -EA SilentlyContinue | Measure-Object Length -Sum).Sum
[PSCustomObject]@{ MB = [math]::Round($s/1MB); Path = $_.FullName }
} | Sort-Object MB -Descending | Select-Object -First 15A .vs folder holds the IntelliSense database for that solution and is rebuilt from the source when the solution reopens. On a large solution it is hundreds of megabytes, and across a folder of repositories it adds up faster than the IDE itself.
The bin and obj folders beside them
Get-ChildItem C:\ -Recurse -Directory -Include bin,obj -Force -ErrorAction SilentlyContinue |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-90) } |
ForEach-Object { [PSCustomObject]@{ Path = $_.FullName } } | Select-Object -First 20Build output older than three months belongs to a project you are not working on, and it is regenerated by the next build. That is the same rule as every other toolchain, covered for the ecosystem generally in the NuGet and .NET caches.
Uninstalling a version you no longer open
The Visual Studio Installer can remove an older version entirely, and it also has a cleanup for orphaned package cache entries left by versions already gone. Removing the application through Settings, Apps leaves more behind than using its own installer does, which is the opposite of the usual advice on Windows.
Common questions
Why is Visual Studio so large?
Because workloads pull in their own SDKs, emulators and toolchains. A machine measured in September 2026 held 31.7 GB in Program Files alone, plus 1.7 GB of installer package cache and 11.6 GB of .NET SDKs.
How do I reduce Visual Studio's size?
Open Visual Studio Installer, choose Modify, and read the Installation details panel, which lists every component with its size. Untick workloads you have not used. That panel is the only place Windows shows the breakdown.
Can I delete the .vs folder in a solution?
Yes. It holds the IntelliSense database and per solution cache and is rebuilt when the solution is reopened. On large solutions it is hundreds of megabytes each.
Should I delete C:\ProgramData\Package Cache?
Not by hand. It holds installer packages needed to repair, modify or uninstall Visual Studio. The Visual Studio Installer has its own cleanup for entries belonging to versions that are already gone.