A dotnet tool that removes the bloat in Windows 11
Warning
This tool makes changes to the Registry. Consider doing a backup before using.
See Milestones for release notes.
- dotnet CLI. At least version 7.
- WinGet. At least version 1.5.2201. See winget-cli/releases to install a specific version.
Install WinDebloat
dotnet tool install -g WinDebloatWinDebloatIds are case insensitive.
Ids for each item are listed below.
Optional items can be included by using the --include argument:
WinDebloat --include PaintSee Optional Items Removed / Disabled
WinDebloat --include-allItems can be excluded by using the --exclude argument:
WinDebloat --exclude AdvertiserId Xbox- 3D Viewer
- Advertiser Id
- Camera
- Chat
- Clock (optional)
- Clipchamp
- Cortana
- Customize This Folder (optional)
- DevHome (optional)
- Developer Mode (optional)
- Edge Bing SideBar (optional)
- Edge Desktop Search Bar
- Edge Default Location To Blank (optional)
- EdgeRecommendations
- Explorer Classic Menu (optional)
- Feedback Hub
- FileExtensions
- FilmsAndTV
- Games
- Get Help
- Give Access To (optional)
- Health Check (optional)
- HP Vendorware (optional)
- Internet Connection Sharing
- Lock Screen Ads
- Mail and Calendar
- Maps
- Media Player
- Mixed Reality Portal
- Movies and TV
- News
- OneNote
- Office 365 (optional)
- Office Cloud Files (optional)
- OneDrive (optional)
- Paint 3D
- Paint (optional)
- Pay
- People
- Phone Link (optional)
- Photos
- Power Automate
- PowerShell Unrestricted
- Printer (optional)
- Print 3D
- Quick Assist (optional)
- Skype
- Spotify
- Startup boost
- Start Menu Recommendations
- Sticky Notes
- TaskBar Search
- Task View
- Teams (optional)
- Teams Installer
- Telemetry
- Tips
- To Do
- Voice Recorder (optional)
- Weather
- Web Experience Pack
- Start Menu Web Search
- Whiteboard
- Widgets
- Xbox
Id to exclude: 3DViewer
Uninstalls 3D Viewer using winget.
winget uninstall --name "3D Viewer" --exactId to exclude: AdvertiserId
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo"`
-Name "Enabled"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo"`
-Name "Enabled"`
-Type "DWord"`
-Value "1"Id to exclude: Camera
Uninstalls Windows Camera using winget.
winget uninstall --name "Windows Camera" --exactId to exclude: Chat
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarMn"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarMn"`
-Type "DWord"`
-Value "1"Id to exclude: Clipchamp
Uninstalls Clipchamp using winget.
winget uninstall --name "Clipchamp" --exactId to exclude: Cortana
Uninstalls Cortana using winget.
winget uninstall --name "Cortana" --exactId to exclude: EdgeDesktopSearchBar
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "WebWidgetAllowed"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "WebWidgetAllowed"`
-Type "DWord"`
-Value "1"Id to exclude: EdgeRecommendations
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "ShowRecommendationsEnabled"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "ShowRecommendationsEnabled"`
-Type "DWord"`
-Value "1"- Allow feature recommendations and browser assistance notifications from Microsoft Edge
- Disables "Switch default search engine Microsoft Bing in Chrome"
Id to exclude: FeedbackHub
Uninstalls Feedback Hub using winget.
winget uninstall --name "Feedback Hub" --exactId to exclude: FileExtensions
Set-ItemProperty -Path "Registry::HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "HideFileExt"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "HideFileExt"`
-Type "DWord"`
-Value "1"Id to exclude: FilmsAndTV
Uninstalls Films & TV using winget.
winget uninstall --name "Films & TV" --exactId to exclude: Games
Uninstalls Solitaire & Casual Games using winget.
winget uninstall --name "Solitaire & Casual Games" --exactUninstalls Microsoft Solitaire Collection using winget.
winget uninstall --name "Microsoft Solitaire Collection" --exactId to exclude: GetHelp
Uninstalls Get Help using winget.
winget uninstall --name "Get Help" --exactId to exclude: InternetConnectionSharing
Uninstalls SharedAccess using winget.
winget uninstall --name "SharedAccess" --exactId to exclude: LockScreenAds
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "RotatingLockScreenOverlayEnabled"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "RotatingLockScreenOverlayEnabled"`
-Type "DWord"`
-Value "1"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "SubscribedContent-338387Enabled"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "SubscribedContent-338387Enabled"`
-Type "DWord"`
-Value "1"Id to exclude: MailandCalendar
Uninstalls Mail and Calendar using winget.
winget uninstall --name "Mail and Calendar" --exactId to exclude: Maps
Uninstalls Windows Maps using winget.
winget uninstall --name "Windows Maps" --exactStop-Service -Name "MapsBroker"
Set-Service -Name "MapsBroker"`
-StartupType "Disabled"Set-Service -Name "MapsBroker"`
-StartupType "Automatic"
Start-Service -Name "MapsBroker"Id to exclude: MediaPlayer
Uninstalls Windows Media Player using winget.
winget uninstall --name "Windows Media Player" --exactId to exclude: MixedRealityPortal
Uninstalls Mixed Reality Portal using winget.
winget uninstall --name "Mixed Reality Portal" --exactId to exclude: MoviesandTV
Uninstalls Movies & TV using winget.
winget uninstall --name "Movies & TV" --exactId to exclude: News
Uninstalls Microsoft News using winget.
winget uninstall --name "Microsoft News" --exactUninstalls News using winget.
winget uninstall --name "News" --exactId to exclude: OneNote
Uninstalls OneNote for Windows 10 using winget.
winget uninstall --name "OneNote for Windows 10" --exactId to exclude: Paint3D
Uninstalls Paint 3D using winget.
winget uninstall --name "Paint 3D" --exactId to exclude: Pay
Uninstalls Microsoft Pay using winget.
winget uninstall --name "Microsoft Pay" --exactId to exclude: People
Uninstalls Microsoft People using winget.
winget uninstall --name "Microsoft People" --exactId to exclude: Photos
Uninstalls Microsoft Photos using winget.
winget uninstall --name "Microsoft Photos" --exactId to exclude: PowerAutomate
Uninstalls Power Automate using winget.
winget uninstall --name "Power Automate" --exactId to exclude: PowerShellUnrestricted
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"`
-Name "ExecutionPolicy"`
-Type "String"`
-Value "Unrestricted"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"`
-Name "ExecutionPolicy"`
-Type "String"`
-Value "Restricted"Id to exclude: Print3D
Uninstalls Print 3D using winget.
winget uninstall --name "Print 3D" --exactId to exclude: Skype
Uninstalls Skype using winget.
winget uninstall --name "Skype" --exactId to exclude: Spotify
Uninstalls Spotify Music using winget.
winget uninstall --name "Spotify Music" --exactId to exclude: Startupboost
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "StartupBoostEnabled"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "StartupBoostEnabled"`
-Type "DWord"`
-Value "1"Id to exclude: StartMenuRecommendations
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "HideRecommendedSection"`
-Type "DWord"`
-Value "1"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "HideRecommendedSection"`
-Type "DWord"`
-Value "0"- The parent path
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorermay need to be created if it doesn;t exist - Policy CSP - Start / hiderecommendedsection
Id to exclude: StickyNotes
Uninstalls Microsoft Sticky Notes using winget.
winget uninstall --name "Microsoft Sticky Notes" --exactId to exclude: TaskBarSearch
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Search"`
-Name "SearchboxTaskbarMode"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Search"`
-Name "SearchboxTaskbarMode"`
-Type "DWord"`
-Value "1"Id to exclude: TaskView
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "ShowTaskViewButton"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "ShowTaskViewButton"`
-Type "DWord"`
-Value "1"Id to exclude: TeamsInstaller
Uninstalls Teams Machine-Wide Installer using winget.
winget uninstall --name "Teams Machine-Wide Installer" --exactId to exclude: Telemetry
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection"`
-Name "Allow Telemetry"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection"`
-Name "Allow Telemetry"`
-Type "DWord"`
-Value "1"Stop-Service -Name "DiagTrack"
Set-Service -Name "DiagTrack"`
-StartupType "Disabled"Set-Service -Name "DiagTrack"`
-StartupType "Automatic"
Start-Service -Name "DiagTrack"Id to exclude: Tips
Uninstalls Microsoft Tips using winget.
winget uninstall --name "Microsoft Tips" --exactId to exclude: ToDo
Uninstalls Microsoft To Do using winget.
winget uninstall --name "Microsoft To Do" --exactId to exclude: Weather
Uninstalls MSN Weather using winget.
winget uninstall --name "MSN Weather" --exactId to exclude: WebExperiencePack
Uninstalls Windows Web Experience Pack using winget.
winget uninstall --name "Windows Web Experience Pack" --exactId to exclude: StartMenuWebSearch
Set-ItemProperty -Path "Registry::HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "DisableSearchBoxSuggestions"`
-Type "DWord"`
-Value "1"Set-ItemProperty -Path "Registry::HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "DisableSearchBoxSuggestions"`
-Type "DWord"`
-Value "0"Id to exclude: Whiteboard
Uninstalls Microsoft Whiteboard using winget.
winget uninstall --name "Microsoft Whiteboard" --exactId to exclude: Widgets
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarDa"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarDa"`
-Type "DWord"`
-Value "1"Id to exclude: Xbox
Uninstalls Xbox TCUI using winget.
winget uninstall --name "Xbox TCUI" --exactUninstalls Xbox Console Companion using winget.
winget uninstall --name "Xbox Console Companion" --exactUninstalls Xbox Game Bar Plugin using winget.
winget uninstall --name "Xbox Game Bar Plugin" --exactUninstalls Xbox Identity Provider using winget.
winget uninstall --name "Xbox Identity Provider" --exactUninstalls Xbox Game Speech Window using winget.
winget uninstall --name "Xbox Game Speech Window" --exactUninstalls Xbox Game Bar using winget.
winget uninstall --name "Xbox Game Bar" --exactUninstalls Xbox Accessories using winget.
winget uninstall --name "Xbox Accessories" --exactUninstalls Xbox using winget.
winget uninstall --name "Xbox" --exactId to include: Clock
Uninstalls Windows Clock using winget.
winget uninstall --name "Windows Clock" --exactUninstalls Windows Alarms & Clock using winget.
winget uninstall --name "Windows Alarms & Clock" --exactId to include: CustomizeThisFolder
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"`
-Name "NoCustomizeThisFolder"`
-Type "DWord"`
-Value "1"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"`
-Name "NoCustomizeThisFolder"`
-Type "DWord"`
-Value "0"- Removes Explorer "Customize this folder" functionality. Both from the context menu and from the properties tab.
Id to include: DevHome
Uninstalls DevHome using winget.
winget uninstall "DevHome"Id to include: DeveloperMode
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\Appx"`
-Name "AllowDevelopmentWithoutDevLicense"`
-Type "DWord"`
-Value "1"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Windows\Appx"`
-Name "AllowDevelopmentWithoutDevLicense"`
-Type "DWord"`
-Value "0"Id to include: EdgeBingSideBar
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "HubsSidebarEnabled"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Policies\Microsoft\Edge"`
-Name "HubsSidebarEnabled"`
-Type "DWord"`
-Value "1"- Microsoft Edge now has a Bing AI chatbot sidebar
- Disables the Edge Bing Sidebar
Id to include: EdgeDefaultLocationToBlank
Set-ItemProperty -Path "Registry::HKCU\SOFTWARE\Policies\Microsoft\Edge"`
-Name "HomepageLocation"`
-Type "String"`
-Value "about:blank"Remove-ItemProperty -Path "Registry::HKCU\SOFTWARE\Policies\Microsoft\Edge"`
-Name "HomepageLocation"Set-ItemProperty -Path "Registry::HKCU\SOFTWARE\Policies\Microsoft\Edge"`
-Name "NewTabPageLocation"`
-Type "String"`
-Value "about:blank"Remove-ItemProperty -Path "Registry::HKCU\SOFTWARE\Policies\Microsoft\Edge"`
-Name "NewTabPageLocation"Id to include: ExplorerClassicMenu
New-Item -Path "Registry::HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" -Value ""Remove-Item -Path "Registry::HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32"Id to include: GiveAccessTo
Set-ItemProperty -Path "Registry::HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked"`
-Name "{f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}"`
-Type "String"`
-Value ""Remove-ItemProperty -Path "Registry::HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked"`
-Name "{f81e9010-6ea4-11ce-a7ff-00aa003ca9f6}"- Removes Explorer "Give access to" functionality. Both from the context menu and from the properties tab.
Id to include: HealthCheck
Uninstalls Windows PC Health Check using winget.
winget uninstall --name "Windows PC Health Check" --exactId to include: HP
Uninstalls HP Desktop Support Utilities using winget.
winget uninstall --name "HP Desktop Support Utilities" --exactUninstalls HP Documentation using winget.
winget uninstall --name "HP Documentation" --exactUninstalls HP Notifications using winget.
winget uninstall --name "HP Notifications" --exactUninstalls HPHelp using winget.
winget uninstall --name "HPHelp" --exactStop-Service -Name "HpTouchpointAnalyticsService"
Set-Service -Name "HpTouchpointAnalyticsService"`
-StartupType "Disabled"Set-Service -Name "HpTouchpointAnalyticsService"`
-StartupType "Automatic"
Start-Service -Name "HpTouchpointAnalyticsService"Stop-Service -Name "HPAppHelperCap"
Set-Service -Name "HPAppHelperCap"`
-StartupType "Disabled"Set-Service -Name "HPAppHelperCap"`
-StartupType "Automatic"
Start-Service -Name "HPAppHelperCap"Stop-Service -Name "HPDiagsCap"
Set-Service -Name "HPDiagsCap"`
-StartupType "Disabled"Set-Service -Name "HPDiagsCap"`
-StartupType "Automatic"
Start-Service -Name "HPDiagsCap"Stop-Service -Name "HPSysInfoCap"
Set-Service -Name "HPSysInfoCap"`
-StartupType "Disabled"Set-Service -Name "HPSysInfoCap"`
-StartupType "Automatic"
Start-Service -Name "HPSysInfoCap"Stop-Service -Name "hpsvcsscan"
Set-Service -Name "hpsvcsscan"`
-StartupType "Disabled"Set-Service -Name "hpsvcsscan"`
-StartupType "Automatic"
Start-Service -Name "hpsvcsscan"Stop-Service -Name "HotKeyServiceDSU"
Set-Service -Name "HotKeyServiceDSU"`
-StartupType "Disabled"Set-Service -Name "HotKeyServiceDSU"`
-StartupType "Automatic"
Start-Service -Name "HotKeyServiceDSU"Id to include: Office365
Uninstalls Microsoft 365 (Office) using winget.
winget uninstall --name "Microsoft 365 (Office)" --exactId to include: OfficeCloudFiles
Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer"`
-Name "ShowCloudFilesInQuickAccess"`
-Type "DWord"`
-Value "0"Set-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer"`
-Name "ShowCloudFilesInQuickAccess"`
-Type "DWord"`
-Value "1"Id to include: OneDrive
Uninstalls OneDrive using winget.
winget uninstall "OneDrive"Id to include: Paint
Uninstalls Paint using winget.
winget uninstall --name "Paint" --exactInstalls paint.net using winget.
winget install --name "paint.net" --exactId to include: PhoneLink
Uninstalls Phone Link using winget.
winget uninstall --name "Phone Link" --exactId to include: Printer
Stop-Service -Name "Spooler"
Set-Service -Name "Spooler"`
-StartupType "Disabled"Set-Service -Name "Spooler"`
-StartupType "Automatic"
Start-Service -Name "Spooler"Id to include: QuickAssist
Uninstalls Quick Assist using winget.
winget uninstall --name "Quick Assist" --exactId to include: Teams
Uninstalls Microsoft Teams using winget.
winget uninstall --name "Microsoft Teams" --exactId to include: VoiceRecorder
Uninstalls Windows Voice Recorder using winget.
winget uninstall --name "Windows Voice Recorder" --exact- winget
- https://winget.run. An online registry of winget packages.
- ExplorerPatcher. A helpful to use in conjunction with this project to make Windows more usable.
- Setting a single registry entry using PowerShell
Elephant designed by Icons Producer from The Noun Project.
Unit tests should be run with elevated privileges