Skip to main content

Overview

FancyZones is a powerful window manager that allows you to create custom window layouts and quickly snap windows into predefined zones. It’s perfect for organizing multiple applications across one or more monitors with consistent, efficient layouts.
FancyZones can remember where applications were placed and automatically restore them to those zones when reopened.

Activation

1

Enable FancyZones

Open PowerToys Settings and enable FancyZones
2

Create Layout

Press Win+Shift+~ to open the layout editor
3

Snap Windows

Hold Shift while dragging windows to see zone overlays

Key Features

Custom Zone Layouts

Grid Layouts

Divide screen into equal grid cells2x2, 3x3, or custom dimensions

Template Layouts

Pre-designed layouts for common workflowsFocus, Columns, Rows, Priority Grid

Custom Layouts

Draw your own zone configurationsPixel-perfect control

Multi-Monitor

Different layouts per monitorIndependent zone configurations

Window Snapping

Multiple methods to snap windows:
Primary method:
  1. Click and start dragging a window
  2. Hold Shift key
  3. Zone overlay appears
  4. Drag to desired zone
  5. Release mouse button
Window snaps to zone

Layout Editor

Create and customize layouts:
Editor features:
  • Visual zone editor
  • Drag to resize zones
  • Snap zones to edges
  • Spacing configuration
  • Zone count adjustment
  • Color preview

Zone Behaviors

settings
Customize how zones look:
  • Zone colors
  • Border thickness
  • Opacity levels
  • Number display
  • Zone highlighting
settings
Control snap mechanics:
  • Snap sensitivity
  • Show zones on drag
  • Move newly created windows to zones
  • Restore zone layouts on relaunch
settings
Per-monitor configuration:
  • Independent layouts per display
  • Move windows between monitors preserves zones
  • Span windows across zones

App-Specific Zones

FancyZones remembers window placements:
  • Application History: Tracks which app was in which zone
  • Auto-Restore: Reopened apps return to their zones
  • Virtual Desktop Aware: Different layouts per virtual desktop

Configuration

Settings Location

Layout files stored as JSON configurations.

Core Settings

hotkey
default:"Win+Shift+`"
Shortcut to open layout editor
boolean
default:"false"
Automatically move new windows to zones
boolean
default:"false"
Snap windows to nearest zone automatically
boolean
default:"false"
Use FancyZones behavior for Win+Arrow keys
color
default:"#0078D7"
Color of zone borders in hex format
number
default:"50"
Opacity percentage for zone highlights (0-100)
array
default:"[]"
Applications excluded from FancyZones
boolean
default:"false"
Restore window original size when moved out of zone

Layout Templates

Built-in templates:
Large center zone with smaller side panels:

Use Cases

Development Workflows

Side-by-side coding layout:
Multi-pane development setup:
  1. Zone 1: Code editor (60% width)
  2. Zone 2: Browser DevTools (40% width, top)
  3. Zone 3: Terminal (40% width, bottom)
Snap applications once, reopen automatically in zones
Debugging layout:
  • Large center: Application being debugged
  • Left sidebar: Code editor
  • Right sidebar: Debug console
  • Bottom: Watch variables

Content Creation

1

Video Editing

Zone 1: Timeline (bottom, full width)Zone 2: Preview (top left)Zone 3: Effects/Media browser (top right)
2

Graphic Design

Zone 1: Design canvas (center, large)Zone 2: Layers panel (right)Zone 3: Color picker/tools (left)
3

Music Production

Zone 1: DAW timeline (bottom)Zone 2: Mixer (right)Zone 3: VST plugins (left)

Productivity

Email + Calendar

Split screen for email client and calendarQuick reference while scheduling

Research

Multiple browser windows in zonesCompare sources side-by-side

Writing

Document editor + research materialsKeep references visible while writing

Communication

Chat apps in dedicated zonesMonitor multiple channels

Multi-Monitor Setups

Monitor 1 (Primary):
  • Zone 1: Main work application (full)
Monitor 2 (Secondary):
  • Zone 1: Reference materials (top)
  • Zone 2: Communication (bottom)

Keyboard Shortcuts

Layout Management

Window Snapping

Editor Shortcuts

Technical Details

Architecture

Zone Storage

Layouts stored as JSON:

Window Tracking

Source: src/modules/fancyzones/FancyZonesLib/FancyZonesData/AppZoneHistory.cpp

Dragging State

Manages window drag operations:
Source: src/modules/fancyzones/FancyZonesLib/DraggingState.cpp

Troubleshooting

Check:
  • FancyZones is enabled in PowerToys Settings
  • Holding Shift key while dragging
  • Window is not in excluded apps list
  • Layout is applied to current monitor
Fix:
  1. Restart PowerToys
  2. Reapply layout in editor
  3. Check Windows animation settings
Possible causes:
  • Application is excluded
  • Window is non-standard (e.g., WPF with custom chrome)
  • Elevated application (PowerToys not elevated)
Solutions:
  1. Remove app from excluded list
  2. Run PowerToys as administrator
  3. Use standard window dragging (title bar)
When monitors disconnect/reconnect:
  1. Open layout editor (Win+Shift+~)
  2. Verify correct monitor selected
  3. Reapply or recreate layout
  4. Save layout
Prevent: Use consistent monitor configurations
Check settings:
  • “Restore windows to their zone layouts” enabled
  • Application launched normally (not as admin if PowerToys isn’t)
  • App zone history not cleared
Reset:
  1. Clear app history in FancyZones settings
  2. Manually snap apps to zones again
  3. Close and reopen apps to verify

Command Line Interface

FancyZones includes a CLI for automation and scripting:

Available Commands

Get Information:
Set Configuration:
Open UI:
The CLI requires FancyZones to be running. All commands send notifications to the running instance.

See Also