Convert Figma logo to code with AI

Sycnex logoWindows10Debloater

Script to remove Windows 10 bloatware.

18,568
2,072
18,568
300

Top Related Projects

☑️🌠 Remove Bloatwares from Windows 10

:zap: The most powerful PowerShell module for fine-tuning Windows

A Collection of Scripts Which Disable / Remove Windows 10 Features and Apps

This is the Ultimate Windows 10 Script from a creation from multiple debloat scripts and gists from github.

16,406

The finest Windows Optimizer

Quick Overview

Windows10Debloater is a PowerShell script designed to remove bloatware from Windows 10 installations. It aims to improve system performance and privacy by removing pre-installed Microsoft apps, disabling telemetry, and applying various system tweaks.

Pros

  • Removes unnecessary pre-installed apps and features, potentially improving system performance
  • Enhances privacy by disabling telemetry and data collection features
  • Offers both GUI and command-line interfaces for user flexibility
  • Provides options to revert changes and create system restore points

Cons

  • May remove apps or features that some users find useful
  • Can potentially cause system instability if not used carefully
  • Requires administrative privileges, which may be a security concern
  • Some features may become outdated as Windows 10 receives updates

Getting Started

To use Windows10Debloater:

  1. Download the repository from GitHub
  2. Open PowerShell as an administrator
  3. Navigate to the downloaded directory
  4. Run the script using one of the following commands:
# For GUI version
.\Windows10DebloaterGUI.ps1

# For command-line version
.\Windows10SysPrepDebloater.ps1
  1. Follow the on-screen instructions to select desired options and apply changes

Note: It's recommended to create a system restore point before running the script.

Competitor Comparisons

☑️🌠 Remove Bloatwares from Windows 10

Pros of bloatbox

  • User-friendly graphical interface for easier navigation and operation
  • Regularly updated with new features and improvements
  • Offers additional system optimization tools beyond debloating

Cons of bloatbox

  • Less extensive debloating options compared to Windows10Debloater
  • May require more system resources due to its GUI

Code Comparison

Windows10Debloater:

Function Remove-Keys {
    # Remove specific registry keys
    $Keys = @(
        "HKCR:\Extensions\ContractId\Windows.Launch\PackageId\46928bounde.EclipseManager_2.2.4.51_neutral__a5h4egax66k6y"
        # ... more keys ...
    )
    ForEach ($Key in $Keys) {
        Remove-Item $Key -Recurse -ErrorAction SilentlyContinue
    }
}

bloatbox:

public static void RemoveUWPApp(string package)
{
    PowerShell ps = PowerShell.Create();
    ps.AddScript("Get-AppxPackage " + package + " | Remove-AppxPackage");
    ps.Invoke();
}

Both projects aim to debloat Windows 10, but they approach the task differently. Windows10Debloater offers more extensive options and uses PowerShell scripts, while bloatbox provides a user-friendly GUI with additional optimization features. The choice between them depends on user preference and technical expertise.

:zap: The most powerful PowerShell module for fine-tuning Windows

Pros of Sophia-Script-for-Windows

  • More comprehensive and customizable options for tweaking Windows settings
  • Regular updates and active development, supporting the latest Windows versions
  • Detailed documentation and explanations for each tweak

Cons of Sophia-Script-for-Windows

  • Steeper learning curve due to its extensive options and PowerShell-based interface
  • Requires more manual configuration compared to Windows10Debloater's one-click approach

Code Comparison

Sophia-Script-for-Windows:

# Enable/disable Windows features
Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -All
Disable-WindowsOptionalFeature -Online -FeatureName "WindowsMediaPlayer" -NoRestart

Windows10Debloater:

# Remove bloatware apps
$Bloatware = @("Microsoft.3DBuilder", "Microsoft.WindowsAlarms")
foreach ($Bloat in $Bloatware) {
    Get-AppxPackage -Name $Bloat| Remove-AppxPackage
}

Both scripts aim to optimize Windows, but Sophia-Script-for-Windows offers more granular control over system settings, while Windows10Debloater focuses primarily on removing pre-installed apps and some basic tweaks. Sophia-Script-for-Windows is better suited for advanced users who want fine-grained control, while Windows10Debloater provides a simpler, more straightforward approach to debloating Windows.

A Collection of Scripts Which Disable / Remove Windows 10 Features and Apps

Pros of Debloat-Windows-10

  • More comprehensive set of scripts for various debloating tasks
  • Modular approach allows for selective application of tweaks
  • Includes additional privacy-enhancing features

Cons of Debloat-Windows-10

  • Less user-friendly interface compared to Windows10Debloater
  • Requires more manual intervention and technical knowledge
  • May not be as frequently updated as Windows10Debloater

Code Comparison

Windows10Debloater:

Function DebloatBlacklist {
    $Bloatware = @(
        "Microsoft.BingWeather"
        "Microsoft.GetHelp"
        "Microsoft.Getstarted"
    )
    foreach ($Bloat in $Bloatware) {
        Get-AppxPackage -Name $Bloat| Remove-AppxPackage
    }
}

Debloat-Windows-10:

Get-AppxPackage -AllUsers |
    Where-Object {$_.Name -NotLike "*Store*"} |
    Remove-AppxPackage

Get-AppxProvisionedPackage -Online |
    Where-Object {$_.PackageName -NotLike "*Store*"} |
    Remove-AppxProvisionedPackage -Online

The code snippets show different approaches to removing bloatware. Windows10Debloater uses a predefined list, while Debloat-Windows-10 removes all non-Store apps, potentially offering more thorough debloating but with less granular control.

This is the Ultimate Windows 10 Script from a creation from multiple debloat scripts and gists from github.

Pros of win10script

  • More comprehensive set of tweaks and optimizations
  • Includes options for installing common applications
  • Offers a graphical user interface for easier use

Cons of win10script

  • Less focused on debloating specifically
  • May include more changes than some users want or need
  • Potentially more complex to customize or modify

Code Comparison

Windows10Debloater:

Function DebloatBlacklist {
    $Bloatware = @(
        "Microsoft.3DBuilder"
        "Microsoft.AppConnector"
        # ... more entries
    )
    foreach ($Bloat in $Bloatware) {
        Get-AppxPackage -Name $Bloat| Remove-AppxPackage
        Get-AppxProvisionedPackage -Online | Where-Object DisplayName -like $Bloat | Remove-AppxProvisionedPackage -Online
    }
}

win10script:

Function InstallSoftware {
    Write-Output "Installing Chocolatey"
    Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
    Write-Output "Installing Software"
    choco install googlechrome -y
    choco install vscode -y
    # ... more installations
}

The code comparison shows that Windows10Debloater focuses on removing pre-installed apps, while win10script includes functionality for installing new software using Chocolatey package manager.

16,406

The finest Windows Optimizer

Pros of Optimizer

  • More comprehensive features, including system tweaks, startup management, and host file editing
  • Regular updates and active development
  • User-friendly graphical interface

Cons of Optimizer

  • Larger file size and more complex installation
  • May include features not needed by all users
  • Potential for unintended system changes if used without caution

Code Comparison

Windows10Debloater:

Function DebloatBlacklist {
    $Bloatware = @(
        "Microsoft.BingNews"
        "Microsoft.GetHelp"
        "Microsoft.Getstarted"
    )
    foreach ($Bloat in $Bloatware) {
        Get-AppxPackage -Name $Bloat| Remove-AppxPackage
    }
}

Optimizer:

public static void DisableWindowsDefender()
{
    using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Policies\Microsoft\Windows Defender", true))
    {
        if (key != null) key.SetValue("DisableAntiSpyware", 1, RegistryValueKind.DWord);
    }
}

The code snippets show different approaches: Windows10Debloater focuses on removing specific apps, while Optimizer includes system-level tweaks through registry modifications.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Windows10Debloater

made-with-powershell License: MIT

Script/Utility/Application to debloat Windows 10, to remove Windows pre-installed unnecessary applications, stop some telemetry functions, stop Cortana from being used as your Search Index, disable unnecessary scheduled tasks, and more...

Donate a cup of coffee

Buy Me A Coffee

Be sure to look at the Contributors' GitHubs to see if they have GitHub sponsorships as well since they have contributed to this open-source project. (https://github.com/Sycnex/Windows10Debloater/graphs/contributors)

Disclaimer

WARNING: I do NOT take responsibility for what may happen to your system! Run scripts at your own risk! Also, other variants of this repo are not technically "new" versions of this, but they are different in their own respective ways. There are some sites saying that other projects are "new" versions of this, but that is inaccurate.

How To Run the Windows10Debloater.ps1 and the Windows10DebloaterGUI.ps1 files

There are different methods of running the PowerShell script. The methods are as follows:

First Method

  1. Download the .zip file on the main page of the GitHub and extract the .zip file to your desired location
  2. Once extracted, open PowerShell (or PowerShell ISE) as an Administrator
  3. Enable PowerShell execution Set-ExecutionPolicy Unrestricted -Force
  4. On the prompt, change to the directory where you extracted the files:   e.g. - cd c:\temp
  5. Next, to run either script, enter in the following:   e.g. - .\Windows10DebloaterGUI.ps1

Second Method

  1. Download the .zip file on the main page of the GitHub and extract the .zip file to your desired location
  2. Right-click the PowerShell file that you'd like to run and click on "Run With PowerShell"
  3. This will allow the script to run without having to do the above steps but Powershell will ask if you're sure you want to run this script.

Remember this script NEEDS to be run as admin in order to function properly.

How To Run the Windows10SysPrepDebloater.ps1 file

For the WindowsSysPrepDebloater.ps1 file, there are a couple of parameters that you can run so that you can specify which functions are used. The parameters are: -SysPrep, -Debloat and -Privacy.

To run this with parameters, do the following:

  1. Download the .zip file on the main page of the GitHub and extract the .zip file to your desired location
  2. Once extracted, open PowerShell (or PowerShell ISE) as an Administrator
  3. On the prompt, change to the directory where you extracted the files:   e.g. - cd c:\temp
  4. Next, to run either script, enter in the following:

e.g. - .\Windows10SysPrepDebloater.ps1 -Sysprep -Debloat -Privacy

Sysprep, Interactive, and GUI Application

There are now 3 versions of Windows10Debloater - There is an interactive version, a GUI app version, and a pure silent version.

  • Windows10SysPrepDebloater.ps1 -> The silent version now utilizes the switch parameters: -Sysprep, -Debloat -Privacy. The silent version can be useful for deploying MDT Images/sysprepping or any other way you deploy Windows 10. This will work to remove the bloatware during the deployment process.

  • Windows10Debloater.ps1 -> This interactive version is what it implies - a Windows10Debloater script with interactive prompts. This one should not be used for deployments that require a silent script with optional parameters. This script gives you choices with prompts as it runs so that you can make the choices of what the script does.

  • Windows10DebloaterGUI.ps1 -> There is now a GUI Application named Windows10DebloaterGUI.ps1 with buttons to perform all of the functions that the scripts do. This is better for the average user who does not want to work with code, or if you'd prefer to just see an application screen.

Switch Parameters

There are 3 switch parameters in the Windows10SysPrepDebloater.ps1 script.

  • -SysPrep, which runs the command within a function: get-appxpackage | remove-appxpackage. This is useful since some administrators need that command to run first in order for machines to be able to properly provision the apps for removal.

  • -Debloat, switch parameter which does as it suggests. It runs the following functions: Start-Debloat, Remove-Keys, and Protect-Privacy. Remove-Keys removes registry keys leftover that are associated with the bloatware apps listed above, but not removed during the Start-Debloat function.

  • -Privacy, adds and/or changes registry keys to stop some telemetry functions, stops Cortana from being used as your Search Index, disables "unnecessary" scheduled tasks, and more.

This script will remove the bloatware from Windows 10 when using Remove-AppXPackage/Remove-AppXProvisionedPackage, and then delete specific registry keys that are were not removed beforehand. For best results, this script should be run before a user profile is configured, otherwise, you will likely see that apps that should have been removed will remain, and if they are removed you will find broken tiles on the start menu.

These registry keys are

EclipseManager, ActiproSoftwareLLC, Microsoft.PPIProjection, Microsoft.XboxGameCallableUI

You can choose to either 'Debloat' or 'Revert'. Depending on your choice, either one will run specific code to either debloat your Windows 10 machine.

The Debloat switch choice runs the following functions

Debloat, Remove-Keys, Protect-Privacy, Stop-EdgePDF (If chosen)

The Revert switch choice runs the following functions

Revert-Changes, Enable-EdgePDF

The Revert option reinstalls the bloatware and changes your registry keys back to default.

The scheduled tasks that are disabled are

XblGameSaveTaskLogon, XblGameSaveTask, Consolidator, UsbCeip, DmClient

These scheduled tasks that are disabled have absolutely no impact on the function of the OS.

Bloatware that is removed

3DBuilder, ActiproSoftware, Alarms, Appconnector, Asphalt8, Autodesk SketchBook, MSN Money, Food And Drink, Health And Fitness, Microsoft News, MSN Sports, MSN Travel, MSN Weather, BioEnrollment, Windows Camera, CandyCrush, CandyCrushSoda, Caesars Slots Free Casino, ContactSupport, CyberLink MediaSuite Essentials, DrawboardPDF, Duolingo, EclipseManager, Facebook, FarmVille 2 Country Escape, Flipboard, Fresh Paint, Get started, iHeartRadio, King apps, Maps, March of Empires, Messaging, Microsoft Office Hub, Microsoft Solitaire Collection, Microsoft Sticky Notes, Minecraft, Netflix, Network Speed Test, NYT Crossword, Office Sway, OneNote, OneConnect, Pandora, People, Phone, Phototastic Collage, PicsArt-PhotoStudio, PowerBI, Royal Revolt 2, Shazam, Skype for Desktop, SoundRecorder, TuneInRadio, Twitter, Windows communications apps, Windows Feedback, Windows Feedback Hub, Windows Reading List, XboxApp, Xbox Game CallableUI, Xbox Identity Provider, Zune Music, Zune Video.

Quick download link

iwr -useb https://git.io/debloat|iex

Allowlist and Blocklist

There may be some confusion, but when using the Allowlist/Blocklist, the checkmark means it is on the blocklist, and that it will be removed.

Credits

Thank you to a60wattfish, abulgatz, xsisbest, Damian, Vikingat-RAGE, Reddit user /u/GavinEke, and all of the contributors (https://github.com/Sycnex/Windows10Debloater/graphs/contributors) for the suggestions, code, changes, and fixes that you have all graciously worked hard on and shared! You all have done a fantastic job!