Microsoft PowerToys is a set of utilities designed to enhance productivity on Windows. It includes tools like FancyZones for custom window layouts, PowerRename for batch renaming files, Command Palette for quick app launching and file search, and other utilities like Color Picker, File Explorer add-ons, and Mouse Utilities.
Is PowerToys safe to use and does it slow down my PC?
PowerToys is completely safe and it's an official Microsoft open-source project, with frequent updates and visible development. It generally has a light impact on system resources. Users report no noticeable slowdown, and you can disable individual tools if you don't use them.
How do I set up FancyZones for custom window layouts?
To use FancyZones, launch the PowerToys Settings app, go to the FancyZones section, and click "Launch layout editor." You can create a custom layout by splitting your screen into zones, and then assign windows to those zones using Shift + drag. It makes multitasking more efficient, especially on large or ultrawide monitors.
Can I use PowerToys on Windows 11?
Yes, PowerToys is fully compatible with Windows 11. In fact, it takes advantage of some of Windows 11's newer UI features and integrates smoothly into the operating system. Many users treat PowerToys as an optional "advanced mode" layered on top of Windows rather than a replacement for built-in features.
Which PowerToys tools are actually worth using daily?
The most commonly relied-on tools tend to be FancyZones for custom window layouts, PowerRename for batch file renaming, the Keyboard Manager for remapping keys and shortcuts, and the Command Palette (which replaced PowerToys Run) for quickly launching apps, files, and commands. Others are more niche, but useful once you discover a specific need.
Current utilities
- Advanced Paste
- Always on Top
- PowerToys Awake
- Color Picker
- Command Not Found
- Command Palette
- Crop And Lock
- Environment Variables
- FancyZones
- File Explorer Add-ons
- File Locksmith
- Hosts File Editor
- Image Resizer
- Keyboard Manager
- Mouse utilities
- Mouse Without Borders
- New+
- Paste as Plain Text
- Peek
- PowerRename
- PowerToys Run
- Quick Accent
- Registry Preview
- Screen Ruler
- Shortcut Guide
- Text Extractor
- Workspaces
- ZoomIt
What's New
Color Picker
- Fixed a bug where the main Color Picker window could appear inside the zoomed-in picker view in #48762
Command Palette
- Fixed Run history initialization in AOT builds in #48463
- Fixed a bug where the Performance Monitor dock item could show ??? after restart in #48682
- Fixed the Hibernate command using the Sleep icon in #48689
- Limited the "pin to dock" dialog to displays where the dock is enabled in #48723
Keyboard Manager
- Fixed modifier keys remapped to non-modifier keys being delivered as system-key events, which caused unexpected behavior in apps such as Alt-to-Backspace deleting whole words in #47192
Power Display
- Fixed a bug where selecting On in the monitor power-state control did not wake a monitor from standby in #48628
- Fixed built-in display detection and brightness control on dual-GPU laptops where the internal panel is driven by the discrete GPU in #48637
PowerToys Run
- Fixed VS Code Workspaces discovery after VS Code moved recently opened workspace data to shared storage in #47505
Quick Access
- Fixed Quick Access flyout crashes caused by unhandled XAML exceptions during launch or page navigation in #48457
Shortcut Guide
- Fixed a crash when navigating between Shortcut Guide sidebar sections in #48481
- Fixed number-key rendering in shortcut manifests and added a Postman shortcut manifest in #48461
- Updated bundled shortcut manifests to use the literal number-key token so number keys render correctly across apps in #48757
ZoomIt
- Fixed a race condition in audio initialization for ZoomIt video recording in #48685
Highlights
PowerToys 0.100 introduces the brand-new Shortcut Guide, a major Command Palette update with the new Extension Gallery and multi-monitor Dock support, and a wave of improvements to Power Display. We've also upgraded PowerToys to .NET 10, improved auto-update reliability, reduced installer size, and continued modernizing the app experience across the suite.
Introducing the new Shortcut Guide
The new Shortcut Guide has been designed and built from the ground up. The new experience appears as a pane on the side of your screen and automatically detects the active application when invoked, showing the shortcuts that are relevant to what you're currently doing. In addition to app-specific shortcuts, Shortcut Guide also includes a wide range of Windows shortcuts and shortcuts from enabled PowerToys utilities. Want to see if your favorite app is supported? Check out the documentation for the current list of supported applications. If you'd like to add support for another app, we'd love your help! Feel free to open a pull request, or create an issue with a link to the app's shortcut documentation.
Command Palette: new Extension Gallery, and multi-monitor Dock (and more!)
Command Palette was built with extensibility in mind. Developers can create their own extensions, distribute them through the Microsoft Store or WinGet, and build powerful experiences that help users get things done faster. One piece of feedback we've heard consistently is that discovering and installing extensions wasn't always easy. That's why we're introducing the Extension Gallery. Available directly from Command Palette Settings, the Extension Gallery makes it easy to browse, discover, install, update, and remove extensions without leaving Command Palette. Whether you're looking for new capabilities or managing existing extensions, everything is now just a few clicks away.
The Dock has also received a major upgrade with multi-monitor support. Each monitor can now have its own independent Dock configuration, making it easy to tailor your setup for every display in your workspace. You can choose which monitors should display a Dock directly from Command Palette Settings, and the improved Pin to Dock experience now lets you choose exactly where a command should be pinned. Whether you want different tools on different screens or dedicated docks for specific workflows, configuring your setup is now more flexible than ever.
On top of that, the Performance Monitor extension has gained a new Battery widget, showing charge level, charging status, and estimated time remaining. We've also added support for pinning individual metrics such as CPU, Memory, GPU, Network, and Battery directly to the Dock.
PowerDisplay improvements
This release focuses heavily on reliability, compatibility, and monitor detection improvements. Startup is now significantly faster on many systems, monitor identification is more reliable across reboots, and monitor settings are preserved more consistently. We've also introduced a new Max Compatibility Mode for displays that don't properly advertise DDC capabilities, helping Power Display work with a wider range of monitors. Several usability improvements have landed as well. The flyout can now be dismissed using Escape, sliders support mouse wheel adjustment, and displays are automatically rescanned when your PC wakes from sleep.
ZoomIt: webcam capture and recording improvements
This release adds support for a webcam overlay while recording, making it easier to create demos, presentations, and tutorials. We've also added support for appending multiple clips with transitions, allowing you to stitch recordings together without leaving ZoomIt.
Foundations and platform improvements
This release, we have also focused on making the PowerToys foundations better: we've upgraded the project to .NET 10, helping us stay current with the latest platform improvements and tooling and making the overall experience faster! We've also reduced the installer footprint (by 15%), making downloads smaller and installations more efficient.
Big thanks to @snickler for driving the .NET 10 upgrade!
Auto-update has also become more reliable. PowerToys now properly relaunches after updating, provides clearer success notifications, and automatically backs up configuration files before updates so settings can be restored if corruption is detected.
As part of our ongoing modernization efforts, both Quick Accent and Workspaces have moved away from custom WPF theming libraries and now use native Fluent-inspired WPF styling. This helps them better align with the overall PowerToys experience and modern Windows design language. Workspaces in particular received a significant UX refresh, with updated typography, spacing, layout improvements, and a cleaner overall experience.
Other notable changes
- Keyboard Manager: The new WinUI 3 editor is now enabled by default.
- Mouse Without Borders: Added a new Refresh Connections action to quickly reconnect devices.
- Image Resizer: Changes to settings can now be picked up automatically without restarting the experience.
- Quick Accent: Improved reliability on high-DPI and multi-monitor setups, along with support for Greek Polytonic characters.
- Peek: Added an option to disable file preview tooltips.
- PowerToys Run: Improved calculator handling for complex-number scenarios and documented a new community Disk Analyzer plugin.
Advanced Paste
- Fixed Advanced Paste clipboard-to-JSON conversion so clipboard read failures return an empty result instead of surfacing an exception in #48124
Command Palette
Extension Gallery & Extensions
- Added the Command Palette Extension Gallery so users can discover, browse, install, update, and uninstall community extensions from within Command Palette, with cached gallery data, extension details/screenshots, and WinGet status/progress integration in #46636 by @jiripolasek
- Added Command Palette parameter pages so extensions can prompt for lightweight command inputs directly in the search experience, including sample pages and SDK support for parameter runs in #47826
- Updated Command Palette bookmarks to collect placeholder values as inline parameters, so bookmarked commands can be filled in directly instead of opening a separate placeholders page in #47886
- Improved Command Palette Extension Gallery link handling so only HTTP/HTTPS homepage, author, install, and metadata links are shown or opened from the gallery UI in #47898 by @jiripolasek
- Fixed Command Palette Extension Gallery UI bindings so WinGet operation indicators continue to update correctly without build warnings in #47899 by @jiripolasek
- Fixed an AOT-only Command Palette Extension Gallery crash when opening an extension page with screenshots in #48065
- Updated the Command Palette extension template to use the 0.11 SDK package in #48066
- Improved Command Palette accessibility so Narrator announces checkbox labels on the Installed Apps page in Extensions settings in #48135 by @chatasweetie
Dock
- Added Command Palette Dock support for customizing dock bands separately per monitor, allowing multi-monitor setups to keep independent dock layouts in #46915
- Added Command Palette Dock edit mode support for dragging dock bands between monitors, so pinned commands can move across per-monitor dock layouts in #47921
- Added Command Palette Dock drag-and-drop bookmarking for files and URLs, immediately creating and pinning bookmarks, improving pinned folder bookmarks so they open the Command Palette browse experience in #47989
- Fixed Command Palette dock context menu commands so Page commands and confirmation dialogs open the palette at the dock item when invoked from a dock item menu in #47991
- Fixed Command Palette Dock band tooltips so they refresh when the item title or subtitle changes in #47557
- Fixed Command Palette dock startup animations so items pinned to the End section animate consistently with Start and Center items in #48099
- Fixed Command Palette dock subtitle visibility in compact mode so subtitles refresh correctly after async updates in #48088 by @michaeljolley
- Fixed Command Palette hotkey navigation when the palette is showing a transient dock page in #48089 by @michaeljolley
- Fixed a Command Palette dock window border that occasionally remained visible after disconnect/reconnect, by ensuring the owner HWND is set before frame removal in #48180
- Improved the Command Palette Pin to Dock dialog by reordering controls so they appear above the preview, making the dialog easier to scan in #48250
Performance Monitor
- Added a Battery widget to Command Palette Performance Monitor that shows live charge percentage, charging/AC status, and estimated time remaining, updating the dock-band battery icon to reflect current charge level and charging state in #47870 by @Knyrps
- Added Command Palette Performance Monitor dock bands for individual metrics like CPU, memory, network, GPU, and battery when available in #47967
- Fixed Command Palette Performance Monitor's CPU dock reading to use a 0 – 100% system CPU counter, preventing boosted CPUs from showing values above 100% in #47864 by @Knyrps
- Improved Command Palette Performance Monitor network widgets by giving Send and Receive distinct up/down arrow icons and simplifying their labels in #48118
- Reordered Command Palette Performance Monitor network dock bands to match Task Manager's send/receive order in #48098 by @michaeljolley
- Fixed a Command Palette Performance Monitor crash when a GPU index falls outside the available range in #48103 by @michaeljolley
- Fixed a Command Palette Performance Monitor settings file path collision that could cause widget settings to overwrite one another in #48251 by @namdpran8
Calculator
- Added rand() and randi() to the Command Palette Calculator and improved error messages by distinguishing invalid expressions, NaN, and out-of-range results in #47725 by @daverayment
- Fixed Command Palette Calculator parsing for multi-argument functions in cultures where comma is both thousands separator and argument separator, so expressions like max(1,2) and grouped numbers are handled correctly in #47731 by @daverayment
- Fixed the Command Palette and Run Calculator 'log' and 'ln' functions when whitespace separates the function name from its argument, so 'log (n)' computes log base 10 and 'ln (n)' no longer errors out in #47767 by @daverayment
Reliability & UX
- Added a pinned commands section to the Command Palette Home page with context-menu actions for reordering pinned commands in #45869 by @jiripolasek
- Updated Command Palette Shell provider to behave more like Windows Run, improving command execution and suggestions for network paths, NTFS paths, and other edge-case paths in #47642
- Improved Command Palette Window Walker by showing a loading state while open windows are queried during search in #47919
- Improved Command Palette list items by limiting visible tag pills to three and showing a +N overflow badge, preventing tags from crowding out titles in #47140
- Added a Command Palette All Apps setting to hide app description subtitles in search results for a cleaner list view in #47128
- Fixed Command Palette back navigation so the bottom command bar refreshes immediately when returning with Esc or Backspace in #47126
- Fixed Command Palette Extensions settings text so single command and fallback command counts use singular wording in #47125
- Improved Command Palette extension logging by routing extension messages to info, warning, or error logs according to their reported severity in #47896
- Updated Command Palette versioning to 0.11 in #47841
- Added stable Command Palette automation IDs so UI testing tools can reliably target controls and generated list items across sessions in #48033
- Fixed Command Palette Dock positioning when opening palette items from secondary displays, so the palette appears on the correct monitor in #48061
- Updated developer documentation with steps for debugging Command Palette directly through its Visual Studio solution filter in #48108 by @Morma016
- Added Command Palette Remote Desktop support for connecting to arbitrary hostnames typed into the list page, in addition to discovered connections in #48069 by @michaeljolley
- Improved Command Palette result scoring by synchronising fallback title and subtitle formatting so similar items rank consistently in #48085 by @michaeljolley
- Added a Command Palette "Show details" / "Hide details" toggle (with an icon) to the context menu, replacing the previous separate entries in #48140 by @chatasweetie
FancyZones
- Added translator-comment guidance to the FancyZones Editor strings 'Space around zones' and 'Highlight distance' so localizers translate them as margin/padding and adjacent-zone detection distance, fixing misleading Japanese renderings in #47226
File Explorer
- Fixed a Markdown preview crash on UTF-8 files (notably CJK content) that exceeded WebView2's NavigateToString byte limit by switching the size check to count UTF-8 bytes and falling back to the temp-file rendering path when the threshold is exceeded in #47391
File Locksmith
- Fixed File Locksmith handling of Unicode file paths when passing paths between normal and elevated runs, preventing certain non-ASCII paths from being corrupted in #47361
Grab And Move
- Fixed the LNK2038 C++/WinRT version mismatch breaking GrabAndMove on CI by adding the Microsoft.Windows.CppWinRT NuGet to GrabAndMove.vcxproj so it uses the repo-pinned CppWinRT instead of whatever the Windows SDK ships in #47910
- Removed the "NEW" tag from the Grab And Move entry in Settings now that the module has shipped through a full release in #48174 by @moooyo
Image Resizer
- Added live settings reload to Image Resizer so external changes to settings.json take effect immediately without relaunching the flow in #45266 by @daverayment
- Improved Image Resizer accessibility so Narrator announces the Resize button by name and the window title now reads 'Image Resizer' instead of the generic 'WinUI Desktop' in #47752
Keyboard Manager
- Enabled the redesigned Keyboard Manager editor by default, so new installations open the WinUI 3 editor without changing settings in #48245
Mouse Without Borders
- Added Mouse Without Borders Refresh Connections to Quick Access and the Settings Dashboard so users can reconnect devices faster in #46025
- Refactored Mouse Without Borders logging cleanup with no intended user-facing behavior change in #44553 by @mikeclayton
Peek
- Added a 'Show file preview tooltip' toggle to Peek's Behavior settings so users can disable the on-hover metadata tooltip (filename, type, date modified, size), and fixed the binding so toggling off no longer leaves an empty popup attached in #46624
PowerDisplay
- Improved Power Display by automatically disabling the feature after a detected DDC/CI capability crash and showing a Settings warning before users re-enable it in #47734
- Fixed Power Display flyout keyboard handling so pressing Escape closes the window in #48026
- Improved Power Display monitor detection by rescanning displays when the screen wakes and temporarily locking controls until the refresh completes in #47876
- Updated PowerToys documentation to include telemetry events for Grab And Move and Power Display in #47228
- Updated Power Display localization comments so the product name remains untranslated in UI strings, including the system tray tooltip in #47351
- Improved Power Display monitor discovery by distinguishing internal panels from external monitors before applying brightness controls, reducing unnecessary DDC/CI probing on built-in displays in #47740
- Fixed Power Display upgrades so existing per-monitor preferences are carried forward from older monitor IDs to the current stable IDs in #47977
- Added a Power Display Max compatibility mode setting that can find monitors skipped by standard DDC discovery, with an immediate rescan and warning in Settings when enabled in #47875
- Improved Power Display brightness, contrast, and volume sliders by committing changes after a short debounce and allowing mouse-wheel adjustments in #47756
- Fixed Power Display brightness, contrast, and volume controls on monitors whose native DDC/CI ranges are not 0-100 by scaling slider percentages correctly in #47679
- Added a Power Display Settings confirmation prompt before enabling the module and improved monitor diagnostics for troubleshooting in #48111
- Fixed Power Display per-monitor settings so toggles persist across restarts, monitor reordering, and transient discovery failures in #47712
- Added a built-in Power Display monitor blacklist so known problematic displays are skipped during DDC/CI discovery and reported in logs instead of being probed in #48051
- Fixed a Power Display false-positive crash detection when the host process exits cooperatively, so the safety lockout no longer triggers on clean shutdowns in #48173 by @moooyo
- Removed the "NEW" tag from the Power Display entry in Settings now that the module has shipped through a full release in #48174 by @moooyo
- Reworked the Power Display warning dialog with clearer messaging, distinct warning kinds, and a dedicated dialog view-model so users get more actionable guidance after a DDC/CI issue in #48249
PowerToys Run
- Improved PowerToys Run Calculator to return a friendly error for expressions whose result is a complex number (e.g. sqrt(-1)) instead of throwing during decimal conversion in #47506 by @MardSilva
- Documented the third-party PowerToys Run plugin Community.PowerToys.Run.Plugin.DiskAnalyzer for scanning folders/drives to find the largest files and folders in #48106 by @thetsaw
Quick Accent
- Updated Quick Accent's popup UI to standard PowerToys styling while keeping the accent selector experience unchanged in #46604
- Improved Quick Accent language selection consistency by sharing the same language list between the accent popup and Settings UI in #47211 by @daverayment
- Added Greek Polytonic as a Quick Accent language, making polytonic Greek characters available from matching letter keys and Settings in #47021 by @daverayment and @guidotorresmx
- Fixed Quick Accent popup sizing, positioning, and selection glitches on high-DPI or multi-monitor setups, and improved Shift-key detection for navigation in #46593 by @daverayment
Settings
- Added Image Resizer size preset validation so empty or whitespace names are ignored, keeping presets named and easier to understand in #45425
- Fixed the Settings UI resource list by removing a duplicate Quick Accent Greek Polytonic language entry, allowing Settings builds to complete cleanly in #48054
- Improved Settings UI with refreshed PowerToys imagery, constrained OOBE/SCOOBE layouts, and cleaner General settings controls and icons in #48024
- Fixed the Settings "No shortcuts to show" empty-state message so it displays with a single period in #47287 by @daverayment
- Updated Grab And Move settings localization guidance so the Korean translation for "Activation modifier key" uses the feature activation meaning instead of product activation wording in #47352
- Fixed the Quick Access flyout shortcut editor so clicking Reset no longer crashes PowerToys Settings and leaves the shortcut empty cleanly in #47407
- Fixed PowerToys auto-update so it now actually relaunches after install with a 'successfully updated' toast, backs up all JSON configs before updating with restore on detected corruption, and defaults AutoDownloadUpdates to true for fresh installs in #46889
- Renamed the OOBE overview "Learn" link label to "Documentation" so the call-to-action is clearer to first-time users in #48155
Shortcut Guide
- Fixed Shortcut Guide key visuals to show readable key names instead of raw numeric key codes, while preserving arrow key glyph behavior in #48037 by @noraa-junker
- Improved Shortcut Guide V2 reliability and accuracy by showing the configured shortcut, including additional PowerToys module shortcuts, matching app manifests correctly, and exiting cleanly from Esc or the close button in #48043 by @noraa-junker
- Added Shortcut Guide V2, a redesigned shortcut reference with built-in manifests for Windows, PowerToys, and common apps, plus taskbar/context-aware navigation and updated Settings, OOBE, docs, and installer support in #40834 by @noraa-junker
- Renamed the Settings UI module label from "Shortcut Guide V2" to "Shortcut Guide" now that V2 is the only shipping version in #48151
- Fixed a Shortcut Guide V2 crash that occurred when the per-app Manifests directory was missing or unreadable, by treating the directory as empty in that case in #48171 by @MuyuanMS
- Reworded the Shortcut Guide module and OOBE descriptions so they better explain what V2 does and how to invoke it in #48248
Workspaces
- Reworked the Workspaces editor with WPF Fluent theming (dropping ControlzEx and ModernWpf), refined fonts, spacing, and Mica background, and moved action buttons to the top with full-width scrolling in #46172 by @Jay-o-Way
ZoomIt
- Removed a stale Microsoft.Windows.ImplementationLibrary NuGet import from ZoomItBreak.vcxproj that was unused but broke the official build after the .NET 10 upgrade bumped the sibling project's WIL version in #47649
- Added webcam capture overlay and multi-clip append-with-transitions support to the ZoomIt recording/trim editor, exposed the new options in the ZoomIt Settings page, and fixed microphone/webcam selection-dialog bugs along the way in #47529 by @foxmsft and @markrussinovich
- Fixed ZoomIt's record-hotkey registration so when Alt is the only modifier the window-record hotkey (base XOR Alt) is no longer registered as a modifier-less key that had been hijacking every bare keypress in #47388
- Exposed ZoomIt's 16:9 aspect-ratio toggle for the screen-region recording hotkey (default Ctrl+Shift+5) in the PowerToys Settings UI in #47695 by @foxmsft


