A dotnet tool that removes the bloat in Windows 11
Warning
This tool makes changes to the Registry. Consider doing a backup before using.
Ensure dotnet CLI is installed.
Install WinDebloat
dotnet tool install -g WinDebloat
dotnet tool update -g WinDebloat
WinDebloat
Ids are case insensitive.
Ids for each item are listed below.
Optional items can be included by using the --include
argument:
WinDebloat --include Paint
See Optional Items Removed / Disabled
WinDebloat --include-all
Items can be excluded by using the --exclude
argument:
WinDebloat --exclude AdvertiserId Xbox
- Advertiser Id
- Calculator (optional)
- Camera
- Chat
- Clock (optional)
- Clipchamp
- Cortana
- Developer Mode (optional)
- Edge Desktop Search Bar
- Feedback Hub
- FileExtensions
- Games
- Get Help
- Internet Connection Sharing
- HP Vendorware (optional)
- Lock Screen Ads
- Mail and Calendar
- Maps
- Media Player
- Mixed Reality Portal
- Movies and TV
- News
- OneNote
- Paint (optional)
- Paint 3D
- Pay
- People
- Photos
- Power Automate
- PowerShell Unrestricted
- Printer (optional)
- Print 3D
- Skype
- Startup boost
- Start Menu Recommendations
- Sticky Notes
- TaskBar Search
- Task View
- Teams
- Telemetry
- Tips
- To Do
- Weather
- Web Experience Pack
- Start Menu Web Search
- Whiteboard
- Widgets
- Xbox
Id to exclude: AdvertiserId
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo"`
-Name "Enabled"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo"`
-Name "Enabled"`
-Type "DWord"`
-Value "1"
Notes:
Id to exclude: Camera
Uninstalls Windows Camera
using winget.
Command to manually apply:
winget uninstall --name "Windows Camera" --exact
Notes:
Id to exclude: Chat
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarMn"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarMn"`
-Type "DWord"`
-Value "1"
Notes:
Id to exclude: Clipchamp
Uninstalls Clipchamp
using winget.
Command to manually apply:
winget uninstall --name "Clipchamp" --exact
Notes:
Id to exclude: Cortana
Uninstalls Cortana
using winget.
Command to manually apply:
winget uninstall --name "Cortana" --exact
Id to exclude: EdgeDesktopSearchBar
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge"`
-Name "WebWidgetAllowed"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge"`
-Name "WebWidgetAllowed"`
-Type "DWord"`
-Value "1"
Id to exclude: FeedbackHub
Uninstalls Feedback Hub
using winget.
Command to manually apply:
winget uninstall --name "Feedback Hub" --exact
Id to exclude: FileExtensions
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "HideFileExt"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "HideFileExt"`
-Type "DWord"`
-Value "1"
Id to exclude: Games
Uninstalls Solitaire & Casual Games
using winget.
Command to manually apply:
winget uninstall --name "Solitaire & Casual Games" --exact
Id to exclude: GetHelp
Uninstalls Get Help
using winget.
Command to manually apply:
winget uninstall --name "Get Help" --exact
Id to exclude: InternetConnectionSharing
Uninstalls SharedAccess
using winget.
Command to manually apply:
winget uninstall --name "SharedAccess" --exact
Id to exclude: LockScreenAds
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "RotatingLockScreenOverlayEnabled"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "RotatingLockScreenOverlayEnabled"`
-Type "DWord"`
-Value "1"
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "SubscribedContent-338387Enabled"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager"`
-Name "SubscribedContent-338387Enabled"`
-Type "DWord"`
-Value "1"
Id to exclude: MailandCalendar
Uninstalls Mail and Calendar
using winget.
Command to manually apply:
winget uninstall --name "Mail and Calendar" --exact
Id to exclude: Maps
Uninstalls Windows Maps
using winget.
Command to manually apply:
winget uninstall --name "Windows Maps" --exact
Command to manually apply:
Stop-Service -Name "MapsBroker"
Set-Service -Name "MapsBroker"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "MapsBroker"`
-StartupType "Automatic"
Start-Service -Name "MapsBroker"
Id to exclude: MediaPlayer
Uninstalls Windows Media Player
using winget.
Command to manually apply:
winget uninstall --name "Windows Media Player" --exact
Id to exclude: MixedRealityPortal
Uninstalls Mixed Reality Portal
using winget.
Command to manually apply:
winget uninstall --name "Mixed Reality Portal" --exact
Id to exclude: MoviesandTV
Uninstalls Movies & TV
using winget.
Command to manually apply:
winget uninstall --name "Movies & TV" --exact
Id to exclude: News
Uninstalls News
using winget.
Command to manually apply:
winget uninstall --name "News" --exact
Id to exclude: OneNote
Uninstalls OneNote for Windows 10
using winget.
Command to manually apply:
winget uninstall --name "OneNote for Windows 10" --exact
Id to exclude: Paint3D
Uninstalls Paint 3D
using winget.
Command to manually apply:
winget uninstall --name "Paint 3D" --exact
Id to exclude: Pay
Uninstalls Microsoft Pay
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Pay" --exact
Id to exclude: People
Uninstalls Microsoft People
using winget.
Command to manually apply:
winget uninstall --name "Microsoft People" --exact
Id to exclude: Photos
Uninstalls Microsoft Photos
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Photos" --exact
Id to exclude: PowerAutomate
Uninstalls Power Automate
using winget.
Command to manually apply:
winget uninstall --name "Power Automate" --exact
Id to exclude: PowerShellUnrestricted
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"`
-Name "ExecutionPolicy"`
-Type "String"`
-Value "Unrestricted"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"`
-Name "ExecutionPolicy"`
-Type "String"`
-Value "Restricted"
Id to exclude: Print3D
Uninstalls Print 3D
using winget.
Command to manually apply:
winget uninstall --name "Print 3D" --exact
Id to exclude: Skype
Uninstalls Skype
using winget.
Command to manually apply:
winget uninstall --name "Skype" --exact
Notes:
Id to exclude: Startupboost
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge"`
-Name "StartupBoostEnabled"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge"`
-Name "StartupBoostEnabled"`
-Type "DWord"`
-Value "1"
Notes:
Id to exclude: StartMenuRecommendations
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "HideRecommendedSection"`
-Type "DWord"`
-Value "1"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "HideRecommendedSection"`
-Type "DWord"`
-Value "0"
Notes:
- The parent path
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer
may need to be created if it doesn;t exist
Id to exclude: StickyNotes
Uninstalls Microsoft Sticky Notes
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Sticky Notes" --exact
Notes:
- [AppStore: Sticky Notes](https://apps.microsoft.com/store/detail/microsoft-sticky-notes/9NBLGGH4QGHW
Id to exclude: TaskBarSearch
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search"`
-Name "SearchboxTaskbarMode"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search"`
-Name "SearchboxTaskbarMode"`
-Type "DWord"`
-Value "1"
Id to exclude: TaskView
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "ShowTaskViewButton"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "ShowTaskViewButton"`
-Type "DWord"`
-Value "1"
Id to exclude: Teams
Uninstalls Teams Machine-Wide Installer
using winget.
Command to manually apply:
winget uninstall --name "Teams Machine-Wide Installer" --exact
Id to exclude: Telemetry
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection"`
-Name "Allow Telemetry"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection"`
-Name "Allow Telemetry"`
-Type "DWord"`
-Value "1"
Command to manually apply:
Stop-Service -Name "DiagTrack"
Set-Service -Name "DiagTrack"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "DiagTrack"`
-StartupType "Automatic"
Start-Service -Name "DiagTrack"
Id to exclude: Tips
Uninstalls Microsoft Tips
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Tips" --exact
Id to exclude: ToDo
Uninstalls Microsoft To Do
using winget.
Command to manually apply:
winget uninstall --name "Microsoft To Do" --exact
Notes:
- [AppStore: To Do](https://apps.microsoft.com/store/detail/microsoft-to-do-lists-tasks-reminders/9NBLGGH5R558
Id to exclude: Weather
Uninstalls MSN Weather
using winget.
Command to manually apply:
winget uninstall --name "MSN Weather" --exact
Id to exclude: WebExperiencePack
Uninstalls Windows Web Experience Pack
using winget.
Command to manually apply:
winget uninstall --name "Windows Web Experience Pack" --exact
Id to exclude: StartMenuWebSearch
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "DisableSearchBoxSuggestions"`
-Type "DWord"`
-Value "1"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Explorer"`
-Name "DisableSearchBoxSuggestions"`
-Type "DWord"`
-Value "0"
Id to exclude: Whiteboard
Uninstalls Microsoft Whiteboard
using winget.
Command to manually apply:
winget uninstall --name "Microsoft Whiteboard" --exact
Id to exclude: Widgets
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarDa"`
-Type "DWord"`
-Value "0"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"`
-Name "TaskbarDa"`
-Type "DWord"`
-Value "1"
Id to exclude: Xbox
Uninstalls Xbox TCUI
using winget.
Command to manually apply:
winget uninstall --name "Xbox TCUI" --exact
Uninstalls Xbox Console Companion
using winget.
Command to manually apply:
winget uninstall --name "Xbox Console Companion" --exact
Uninstalls Xbox Game Bar Plugin
using winget.
Command to manually apply:
winget uninstall --name "Xbox Game Bar Plugin" --exact
Uninstalls Xbox Identity Provider
using winget.
Command to manually apply:
winget uninstall --name "Xbox Identity Provider" --exact
Uninstalls Xbox Game Speech Window
using winget.
Command to manually apply:
winget uninstall --name "Xbox Game Speech Window" --exact
Uninstalls Xbox Game Bar
using winget.
Command to manually apply:
winget uninstall --name "Xbox Game Bar" --exact
Uninstalls Xbox Accessories
using winget.
Command to manually apply:
winget uninstall --name "Xbox Accessories" --exact
Uninstalls Xbox
using winget.
Command to manually apply:
winget uninstall --name "Xbox" --exact
Id to include: Calculator
Uninstalls Windows Calculator
using winget.
Command to manually apply:
winget uninstall --name "Windows Calculator" --exact
Notes:
Id to include: Clock
Uninstalls Windows Clock
using winget.
Command to manually apply:
winget uninstall --name "Windows Clock" --exact
Notes:
Id to include: DeveloperMode
Command to manually apply:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Appx"`
-Name "AllowDevelopmentWithoutDevLicense"`
-Type "DWord"`
-Value "1"
Command to manually revert:
Set-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Appx"`
-Name "AllowDevelopmentWithoutDevLicense"`
-Type "DWord"`
-Value "0"
Notes:
Id to include: HP
Uninstalls HP Desktop Support Utilities
using winget.
Command to manually apply:
winget uninstall --name "HP Desktop Support Utilities" --exact
Uninstalls HP Documentation
using winget.
Command to manually apply:
winget uninstall --name "HP Documentation" --exact
Uninstalls HP Notifications
using winget.
Command to manually apply:
winget uninstall --name "HP Notifications" --exact
Uninstalls HPHelp
using winget.
Command to manually apply:
winget uninstall --name "HPHelp" --exact
Command to manually apply:
Stop-Service -Name "HpTouchpointAnalyticsService"
Set-Service -Name "HpTouchpointAnalyticsService"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "HpTouchpointAnalyticsService"`
-StartupType "Automatic"
Start-Service -Name "HpTouchpointAnalyticsService"
Command to manually apply:
Stop-Service -Name "HPAppHelperCap"
Set-Service -Name "HPAppHelperCap"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "HPAppHelperCap"`
-StartupType "Automatic"
Start-Service -Name "HPAppHelperCap"
Command to manually apply:
Stop-Service -Name "HPDiagsCap"
Set-Service -Name "HPDiagsCap"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "HPDiagsCap"`
-StartupType "Automatic"
Start-Service -Name "HPDiagsCap"
Command to manually apply:
Stop-Service -Name "HPSysInfoCap"
Set-Service -Name "HPSysInfoCap"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "HPSysInfoCap"`
-StartupType "Automatic"
Start-Service -Name "HPSysInfoCap"
Command to manually apply:
Stop-Service -Name "hpsvcsscan"
Set-Service -Name "hpsvcsscan"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "hpsvcsscan"`
-StartupType "Automatic"
Start-Service -Name "hpsvcsscan"
Command to manually apply:
Stop-Service -Name "HotKeyServiceDSU"
Set-Service -Name "HotKeyServiceDSU"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "HotKeyServiceDSU"`
-StartupType "Automatic"
Start-Service -Name "HotKeyServiceDSU"
Id to include: Paint
Uninstalls Paint
using winget.
Command to manually apply:
winget uninstall --name "Paint" --exact
Installs paint.net
using winget.
Command to manually apply:
winget install --name "paint.net" --exact
Id to include: Printer
Command to manually apply:
Stop-Service -Name "Spooler"
Set-Service -Name "Spooler"`
-StartupType "Disabled"
Command to manually revert:
Set-Service -Name "Spooler"`
-StartupType "Automatic"
Start-Service -Name "Spooler"
- 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