Convert Figma logo to code with AI

microsoft logoPowerToys

Windows system utilities to maximize productivity

109,336
6,440
109,336
6,075

Top Related Projects

Everything integration for the Windows taskbar.

AutoHotkey - macro-creation and automation-oriented scripting utility for Windows.

24,440

A cross-platform launcher that simply works

A modern Fluent Design replacement for the old Metro themed flyouts present in Windows.

Desktop customization tool for Windows

Quick Overview

Microsoft PowerToys is a set of free system utilities designed to enhance productivity and customize the Windows experience. It offers a collection of tools that power users can leverage to streamline their workflow and improve efficiency on Windows 10 and 11.

Pros

  • Enhances Windows functionality with useful utilities
  • Free and open-source
  • Regular updates and active development
  • Customizable and user-friendly interface

Cons

  • May consume additional system resources
  • Some features might conflict with existing Windows settings
  • Requires Windows 10 or 11, not available for older versions
  • Learning curve for some of the more advanced tools

Getting Started

To get started with Microsoft PowerToys:

  1. Visit the PowerToys GitHub releases page
  2. Download the latest release installer (PowerToysSetup-X.XX.X-x64.exe)
  3. Run the installer and follow the prompts
  4. After installation, launch PowerToys from the Start menu
  5. Explore and configure the various utilities through the PowerToys settings interface

Note: PowerToys requires Windows 10 version 1903 (build 18362) or later.

Competitor Comparisons

Everything integration for the Windows taskbar.

Pros of EverythingToolbar

  • Lightweight and focused on a single functionality (file search)
  • Seamless integration with the Windows taskbar
  • Utilizes the powerful Everything search engine for fast results

Cons of EverythingToolbar

  • Limited to file search functionality only
  • Requires the Everything search engine to be installed separately
  • Smaller community and less frequent updates

Code Comparison

EverythingToolbar:

public static class SearchManager
{
    public static void Search(string query)
    {
        Everything.Search(query);
    }
}

PowerToys:

public class PowerLauncherViewModel : ObservableObject, IDisposable
{
    public void Search(string query)
    {
        // Complex search logic across multiple plugins
    }
}

Summary

EverythingToolbar is a specialized tool focusing on fast file search integration with the Windows taskbar. It offers a lightweight solution for users primarily interested in quick file access. PowerToys, on the other hand, provides a comprehensive suite of productivity tools, including file search among many other features. While EverythingToolbar excels in its specific use case, PowerToys offers broader functionality and more frequent updates due to its larger community and Microsoft backing.

AutoHotkey - macro-creation and automation-oriented scripting utility for Windows.

Pros of AutoHotkey

  • Powerful scripting language for automation and hotkey creation
  • Extensive community-driven library of scripts and functions
  • Lightweight and runs on older Windows versions

Cons of AutoHotkey

  • Steeper learning curve for non-programmers
  • Limited to Windows operating system
  • Less polished user interface compared to PowerToys

Code Comparison

AutoHotkey script example:

^!t::
Run, notepad.exe
return

PowerToys (FancyZones) configuration example:

{
  "layouts": [
    {
      "name": "Focus",
      "zones": [
        { "x": 0, "y": 0, "width": 50, "height": 100 },
        { "x": 50, "y": 0, "width": 50, "height": 100 }
      ]
    }
  ]
}

Key Differences

  • AutoHotkey is primarily a scripting language, while PowerToys is a collection of system utilities
  • PowerToys offers a more user-friendly interface for customization
  • AutoHotkey provides more flexibility for advanced users and complex automation tasks
  • PowerToys is actively developed by Microsoft, ensuring better integration with Windows

Use Cases

  • AutoHotkey: Custom keyboard shortcuts, text expansion, and complex automation scripts
  • PowerToys: Window management, quick file renaming, and system-wide productivity enhancements
24,440

A cross-platform launcher that simply works

Pros of Wox

  • Lightweight and focused solely on launcher functionality
  • Extensive plugin system for customization
  • Cross-platform compatibility (Windows, macOS, Linux)

Cons of Wox

  • Less actively maintained compared to PowerToys
  • Smaller community and fewer contributors
  • Limited built-in features beyond launcher functionality

Code Comparison

Wox (C#):

public class Program
{
    static void Main(string[] args)
    {
        var wox = new Wox.App.App();
        wox.Run();
    }
}

PowerToys (C++):

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    winrt::init_apartment();
    launch_powertoys();
    return 0;
}

Summary

Wox is a lightweight, cross-platform launcher with a focus on extensibility through plugins. It offers a more specialized experience compared to PowerToys, which provides a broader set of utilities for Windows power users. While Wox excels in its core launcher functionality, PowerToys offers a more comprehensive suite of tools and benefits from active development by Microsoft. The code comparison highlights the different languages and approaches used in each project, with Wox utilizing C# and PowerToys employing C++.

A modern Fluent Design replacement for the old Metro themed flyouts present in Windows.

Pros of ModernFlyouts

  • Focused specifically on enhancing Windows flyouts, providing a more streamlined and targeted solution
  • Offers more customization options for flyout appearance and behavior
  • Lighter weight and potentially less resource-intensive than PowerToys

Cons of ModernFlyouts

  • Limited in scope compared to PowerToys' wide range of productivity tools
  • May have a smaller user base and community support
  • Potentially less frequent updates and maintenance

Code Comparison

ModernFlyouts:

public class FlyoutHandler : IFlyoutHandler
{
    public void ShowFlyout(FlyoutType type)
    {
        // Flyout-specific implementation
    }
}

PowerToys:

public class PowerToysTool : IPowerToysTool
{
    public void Run()
    {
        // Tool-specific implementation
    }
}

The code snippets illustrate the different focus areas of each project. ModernFlyouts centers on flyout handling, while PowerToys implements various productivity tools. Both use C# and follow similar object-oriented patterns, but their primary functionalities differ based on their project goals.

Desktop customization tool for Windows

Pros of Rainmeter

  • Highly customizable desktop widgets and skins
  • Large community with extensive library of user-created skins
  • Lightweight and low resource usage

Cons of Rainmeter

  • Steeper learning curve for creating custom skins
  • Limited built-in functionality compared to PowerToys
  • Less integration with Windows system features

Code Comparison

Rainmeter (Lua):

[MeasureCPU]
Measure=CPU
[MeterCPU]
Meter=String
MeasureName=MeasureCPU
Text=CPU Usage: %1%

PowerToys (C#):

public class PowerRenameManager
{
    public void Rename(string pattern, string replacement)
    {
        // Implementation for renaming files
    }
}

Summary

Rainmeter focuses on desktop customization through user-created skins, offering extensive visual personalization options. PowerToys, on the other hand, provides a set of system utilities to enhance Windows functionality. Rainmeter excels in creating unique desktop experiences, while PowerToys offers more practical tools for productivity and system management. The code examples highlight the different approaches: Rainmeter uses Lua for skin creation, while PowerToys employs C# for its utility implementations.

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

Microsoft PowerToys

Hero image for Microsoft PowerToys

How to use PowerToys | Downloads & Release notes | Contributing to PowerToys | What's Happening | Roadmap

Build status

ArchitectureSolution (Main)Solution (Stable)Installer (Main)
x64Build Status for MainBuild Status for StableBuild Status Installer pipeline
ARM64Build Status for MainBuild Status for StableBuild Status Installer pipeline

About

Microsoft PowerToys is a set of utilities for power users to tune and streamline their Windows experience for greater productivity. For more info on PowerToys overviews and how to use the utilities, or any other tools and resources for Windows development environments, head over to learn.microsoft.com!

Current utilities:
Advanced PasteAlways on TopPowerToys Awake
Command Not FoundColor PickerCrop And Lock
Environment VariablesFancyZonesFile Explorer Add-ons
File LocksmithHosts File EditorImage Resizer
Keyboard ManagerMouse utilitiesMouse Without Borders
PeekPaste as Plain TextPowerRename
PowerToys RunQuick AccentRegistry Preview
Screen RulerShortcut GuideText Extractor
Video Conference MuteWorkspaces

Installing and running Microsoft PowerToys

Requirements

  • Windows 11 or Windows 10 version 2004 (code name 20H1 / build number 19041) or newer.
  • x64 or ARM64 processor
  • Our installer will install the following items:

Via GitHub with EXE [Recommended]

Go to the Microsoft PowerToys GitHub releases page and click on Assets at the bottom to show the files available in the release. Please use the appropriate PowerToys installer that matches your machine's architecture and install scope. For most, it is x64 and per-user.

DescriptionFilenamesha256 hash
Per user - x64PowerToysUserSetup-0.84.0-x64.exe6792180D697ED9FDF9AA7B3F0AB92767CF4C79B526715C802F545E2DCB201BE3
Per user - ARM64PowerToysUserSetup-0.84.0-arm64.exe3D071F009B5E3DBAD21D7450ADB53CBC85CAFB21016E44F414E2A03C188D2FAF
Machine wide - x64PowerToysSetup-0.84.0-x64.exe67B7E685AAF635803A87D8EE96CA1AF5024910B0BF00A9277CD77C810D049446
Machine wide - ARM64PowerToysSetup-0.84.0-arm64.exe259DA1EFB33A616CF64840B8D8AB84F86A43F61687578B43849D5DE11F77AF82

This is our preferred method.

Via Microsoft Store

Install from the Microsoft Store's PowerToys page. You must be using the new Microsoft Store which is available for both Windows 11 and Windows 10.

Via WinGet

Download PowerToys from WinGet. Updating PowerToys via winget will respect current PowerToys installation scope. To install PowerToys, run the following command from the command line / PowerShell:

User scope installer [default]

winget install Microsoft.PowerToys -s winget

Machine-wide scope installer

winget install --scope machine Microsoft.PowerToys -s winget

Other install methods

There are community driven install methods such as Chocolatey and Scoop. If these are your preferred install solutions, you can find the install instructions there.

Third-Party Run Plugins

There is a collection of third-party plugins created by the community that aren't distributed with PowerToys.

Contributing

This project welcomes contributions of all types. Besides coding features / bug fixes, other ways to assist include spec writing, design, documentation, and finding bugs. We are excited to work with the power user community to build a set of tools for helping you get the most out of Windows.

We ask that before you start work on a feature that you would like to contribute, please read our Contributor's Guide. We would be happy to work with you to figure out the best approach, provide guidance and mentorship throughout feature development, and help avoid any wasted or duplicate effort.

Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you grant us the rights to use your contribution and that you have permission to do so.

For guidance on developing for PowerToys, please read the developer docs for a detailed breakdown. This includes how to setup your computer to compile.

What's Happening

PowerToys Roadmap

Our prioritized roadmap of features and utilities that the core team is focusing on.

0.84 - August 2024 Update

In this release, we focused on adding a new utility (PowerToys Workspaces), Advanced paste custom actions feature, stability, and improvements.

Highlights

  • New utility: PowerToys Workspaces - this utility can launch a set of applications to a custom layout and configuration on the desktop. App arrangements can be saved as a workspace and then relaunched with one click from the Workspaces Editor or from a desktop shortcut. In the editor, app configuration can be customized using CLI arguments and "launch as admin" modifiers, and app window sizes and positions can be updated as desired. This is our first public version of Workspaces and we are excited for you to try it out for yourself! Make sure to file issues you encounter on our GitHub so the team can continue to improve the utility.
    • Known issues - the team is actively working on fixing these:
      • Apps that launch as admin are unable to be repositioned to the desired layout.
      • Border of "Remove" / "Add Back" app button in editor is not clearly visible on light themes.
  • Added Awake --use-parent-pid CLI argument to attach to parent process. Thanks @dend!
  • Added custom actions - user-specified pre-defined prompts for the AI model. Additionally, actions (both standard and custom) are now searchable from prompt box and Ctrl + number in-app shortcuts are now applicable for first 9 search results.
  • Ported all C++/CX code to C++/WinRT as part of a refactor and upgrade series aimed at enabling AOT (Ahead of Time) compilation for enhanced performance and reduced disk footprint.

General

  • Added DSC support for ImageResizer resize sizes property.

Advanced Paste

  • Added custom actions - user-specified pre-defined prompts for the AI model. Additionally, actions (both standard and custom) are now searchable from prompt box and Ctrl + number in-app shortcuts are now applicable for first 9 search results.

Awake

  • Added --use-parent-pid CLI argument to attach to parent process and fixed issue causing tray icon to disappear. Thanks @dend!

Hosts File Editor

File Explorer add-ons

  • Fixed multiple preview form positioning issues causing floating, detached windows, CoreWebView2 related exception and process leak. Thanks @davidegiacometti!

Keyboard Manager

  • Convert RemapBufferRow to a struct with descriptive field names. Thanks @masaru-iritani!
  • Fixed issue causing stuck Ctrl key when shortcuts contain AltGr key.

Peek

Quick Accent

PowerRename

  • Updated the tooltip text of the replace box info button. Thanks @Agnibaan!

PowerToys Run

  • Fixed window positioning on start-up introduced in 0.83.
  • Improved default web browser detection. Thanks @davidegiacometti!
  • Fixed volume ounces conversion to support both imperial and metric. Thanks @GhostVaibhav!
  • Fixed thread-safety issue causing results not to be shown on first launch.

Screen Ruler

  • Added multiple measurements support for all measuring tools.

Settings

  • Improved disabled animations InfoBar in Find My Mouse page. Thanks @davidegiacometti!

Workspaces

  • New utility: PowerToys Workspaces - this utility can launch a set of applications to a custom layout and configuration on the desktop. App arrangements can be saved as a workspace and then relaunched with one click from the Workspaces Editor or from a desktop shortcut. In the editor, app configuration can be customized using CLI arguments and "launch as admin" modifiers, and app window sizes and positions can be updated as desired. This is our first public version of Workspaces and we are excited for you to try it out for yourself! Make sure to file issues you encounter on our GitHub so the team can continue to improve the utility.

Documentation

  • Added ChatGPTPowerToys plugin mention to thirdPartyRunPlugins.md. Thanks @ferraridavide!

Development

  • Ported all C++/CX code to C++/WinRT.
  • Moved Version.props import to Directory.Build.props.
  • Extracted self-containment related .csproj properties to src/Common.SelfContained.props.
  • Unused and obsolete dependencies cleanup. Thanks @davidegiacometti!
  • Extracted CSWinRT related .csproj properties to src/Common.Dotnet.CsWinRT.props.
  • Upgraded Microsoft.Windows.CsWinRT to 2.0.8 and updated verifyDepsJsonLibraryVersions.ps1 to unblock PRs.
  • Explicitly Set NuGet Audit Mode to Direct in Directory.Build.props to revert changes made with VS 17.12 update. Thanks @snickler!
  • Upgraded UnitsNet to 5.56.0.

What is being planned for version 0.84

For v0.85, we'll work on the items below:

  • Stability / bug fixes
  • Language selection
  • New module: File Actions Menu
  • New module: New+

PowerToys Community

The PowerToys team is extremely grateful to have the support of an amazing active community. The work you do is incredibly important. PowerToys wouldn’t be nearly what it is today without your help filing bugs, updating documentation, guiding the design, or writing features. We want to say thank you and take time to recognize your work. Month by month, you directly help make PowerToys a better piece of software.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

Privacy Statement

The application logs basic telemetry. Our Telemetry Data page (Coming Soon) has the trends from the telemetry. Please read the Microsoft privacy statement for more information.