This page provides a comprehensive catalog of all 25+ PowerToys utilities, organized by implementation technology and functional category. Each module is listed with its purpose, activation method, and implementation location. For information about how modules are loaded and managed by the Runner, see Module Loading System. For detailed architectural documentation of specific modules, see PowerToys Modules.
PowerToys modules are implemented using three primary technology stacks, chosen based on performance requirements and UI complexity:
| Technology | Use Case | Module Count | Examples |
|---|---|---|---|
| Native C++ | Low-latency input handling, system-level operations | ~8 | FancyZones core, Keyboard Manager, Color Picker |
| WPF | Legacy modules with complex UI | ~4 | PowerToys Run, FancyZones Editor, PowerAccent |
| WinUI3 | Modern modules with Windows 11 styling | ~18 | Settings UI, Command Palette, Peek, Hosts Editor |
Sources:
Module Loading Patterns:
LoadLibrary() and the PowertoyModuleIface interfaceSources:
| Module | Purpose | Activation | Implementation | Location |
|---|---|---|---|---|
| Advanced Paste | AI-powered clipboard transformations with custom actions | Ctrl+Win+V | WinUI3 | src/modules/AdvancedPaste/ |
| PowerToys Run | Quick application launcher with plugin system (16+ plugins) | Alt+Space | WPF + Plugins | src/modules/launcher/ |
| Command Palette | System-wide command palette with 16 built-in extensions | Ctrl+Shift+; | WinUI3 | src/modules/cmdpal/ |
| PowerRename | Bulk file renaming with regex support | Context menu | WinUI3 + Shell Ext | src/modules/powerrename/ |
| Quick Accent | Type accented characters without changing keyboard layout | Hold any key | WPF | src/modules/poweraccent/ |
| File Locksmith | Identify processes locking files | Context menu | WinUI3 + Shell Ext | src/modules/FileLocksmith/ |
| Hosts File Editor | Edit Windows hosts file with syntax highlighting | Standalone | WinUI3 | src/modules/Hosts/ |
| Registry Preview | Preview and edit .reg files before importing | Standalone | WinUI3 | src/modules/registrypreview/ |
| Environment Variables | Modern editor for system environment variables | Standalone | WinUI3 | src/modules/EnvironmentVariables/ |
| New+ | Create files from templates via context menu | Context menu | Native C++ Shell Ext | src/modules/NewPlus/ |
| Workspaces | Save and launch sets of applications | Standalone | WinUI3 | src/modules/Workspaces/ |
Sources:
| Module | Purpose | Activation | Implementation | Location |
|---|---|---|---|---|
| FancyZones | Snap windows into custom layouts | Shift + Drag | Native C++ + WPF Editor | src/modules/fancyzones/ |
| Always on Top | Pin windows to stay on top of others | Win+Ctrl+T | Native C++ | src/modules/alwaysontop/ |
| Crop And Lock | Crop and pin portions of windows | Standalone | WinUI3 | src/modules/CropAndLock/ |
Sources:
| Module | Purpose | Activation | Implementation | Location |
|---|---|---|---|---|
| Keyboard Manager | Remap keys and shortcuts (app-specific support) | Settings | Native C++ | src/modules/keyboardmanager/ |
| Mouse Utilities | Find My Mouse, Mouse Highlighter, Mouse Jump, Crosshairs | Various hotkeys | Native C++ DLLs | src/modules/MouseUtils/ |
| Cursor Wrap | Wrap cursor across monitor edges | Automatic | Native C++ | src/modules/CursorWrap/ |
| Shortcut Guide | Display Windows keyboard shortcuts | Hold Win key | Native C++ | src/modules/shortcut_guide/ |
| Color Picker | Pick colors from screen with hex/RGB codes | Win+Shift+C | Native C++ | src/modules/colorPicker/ |
| Measure Tool | Measure pixel distances and dimensions | Win+Shift+M | WinUI3 + Native Core | src/modules/MeasureTool/ |
| Screen Ruler | On-screen ruler for measuring | Standalone | WinUI3 | src/modules/ScreenRuler/ |
| Text Extractor | OCR text from screen regions | Win+Shift+T | WinUI3 | src/modules/powerocr/ |
| ZoomIt | Screen zoom and annotation for presentations | Various hotkeys | Native C++ | src/modules/ZoomIt/ |
Sources:
| Module | Purpose | Activation | Implementation | Location |
|---|---|---|---|---|
| Peek | Quick preview of files without opening | Ctrl+Space | WinUI3 | src/modules/peek/ |
| File Explorer Add-ons | Preview pane handlers for special file types (SVG, Markdown, PDF, etc.) | Explorer preview pane | Native C++ Handlers | src/modules/previewpane/ |
| Image Resizer | Bulk resize images via context menu | Context menu | Native C++ Shell Ext | src/modules/imageresizer/ |
Sources:
| Module | Purpose | Activation | Implementation | Location |
|---|---|---|---|---|
| Awake | Keep computer awake without changing power settings | System tray | Native C++ | src/modules/awake/ |
| Light Switch | Toggle between light/dark theme system-wide | Quick Access | WinUI3 Service | src/modules/LightSwitch/ |
| Command Not Found | Suggest PowerShell package installations for unknown commands | PowerShell 7+ | PowerShell Module | src/modules/cmdNotFound/ |
| Mouse Without Borders | Control multiple computers with one mouse/keyboard | Standalone | Native C++ + WinForms | src/modules/MouseWithoutBorders/ |
Sources:
Technology Stack Details:
Sources:
All modules integrate with the centralized Settings UI through a consistent interface:
Settings Message Protocol:
Each module receives settings updates via IPC messages following the pattern Snd<ModuleName>Settings. For example:
SndFancyZones โ FancyZones moduleSndKeyboardManager โ Keyboard Manager moduleSndPowerAccentSettings โ Quick Accent moduleSndColorPickerSettings โ Color Picker moduleSources:
Two modules provide extensive plugin/extension ecosystems:
Third-Party Plugin Support: PowerToys Run supports community plugins installed to %LOCALAPPDATA%\Microsoft\PowerToys\PowerToys Run\Plugins\. See doc/thirdPartyRunPlugins.md for a curated list of 50+ community plugins.
Sources:
Extension Architecture: Command Palette uses a declarative model where extensions implement IPage to describe their UI structure, returning ICommandResult to control navigation flow.
Sources:
Shared Component Locations:
src/common/ - Native C++ utilities (logging, file I/O, registry access)src/common/ManagedCommon/ - .NET utilities (settings helpers, IPC, telemetry)src/common/ManagedTelemetry/ - Centralized telemetry systemsrc/settings-ui/Settings.UI.Library/ - Settings data models shared across modulessrc/common/Themes/ - WinUI3 theming resourcesSources:
Each module follows a consistent lifecycle managed by the Runner:
modules/ directory for DLLs implementing PowertoyModuleIfacecreate_instance() factory function called to instantiate moduleis_enabled() determines if module should be activatedset_config()disable() called when module is turned offdestroy() called when PowerToys exitsModule Interface Requirements (PowertoyModuleInterface.h):
const wchar_t* get_name() - Module identifierbool get_config(wchar_t* buffer, int* buffer_size) - Settings serializationvoid set_config(const wchar_t* config) - Settings deserializationvoid enable() - Activate modulevoid disable() - Deactivate modulebool is_enabled() - Query enabled statevoid destroy() - Cleanup resourcesSources:
After building, modules are organized by type:
x64/Release/
โโโ modules/ # Native C++ DLL modules loaded by Runner
โ โโโ FancyZones.dll
โ โโโ KeyboardManager.dll
โ โโโ ColorPicker.dll
โ โโโ FindMyMouse.dll
โ โโโ ...
โโโ WinUI3Apps/ # Modern WinUI3 applications
โ โโโ PowerToys.Settings.exe
โ โโโ CmdPal/
โ โ โโโ Microsoft.CmdPal.UI.exe
โ โโโ PowerToys.Peek.UI.exe
โ โโโ PowerToys.PowerRename.exe
โ โโโ ...
โโโ PowerLauncher.exe # WPF-based PowerToys Run
โโโ FancyZonesEditor.exe # WPF-based FancyZones Editor
โโโ PowerAccent.UI.exe # WPF-based Quick Accent
Sources:
Refresh this wiki
This wiki was recently refreshed. Please wait 4 days to refresh again.