How to Move a Window to Another Monitor (Every Method Explained)

If you're running a dual-monitor or multi-monitor setup, knowing how to move windows between screens quickly is one of those skills that pays off dozens of times a day. Whether you're dragging a browser to your second display or snapping a spreadsheet to a specific screen, there are multiple ways to do it — and the best method depends on your operating system, keyboard habits, and how you've configured your displays.

The Basic Method: Click and Drag

The most straightforward approach works on Windows, macOS, and most Linux desktop environments: click the title bar of the window you want to move, hold the mouse button down, and drag it horizontally (or vertically, depending on your monitor arrangement) until it crosses onto the other screen.

A few things affect how well this works:

  • Display arrangement in your OS settings must match your physical monitor layout. If your second monitor is physically to the right but configured as "left" in your display settings, dragging right won't get you there.
  • Window size can cause issues. A maximized window won't drag cleanly. Restore it to a floating window first (click the restore/maximize button at the top right on Windows, or un-maximize on macOS).
  • Refresh rate and GPU driver stability occasionally cause visual lag during drag operations, particularly with mixed-resolution or mixed-refresh-rate setups.

Keyboard Shortcuts: The Faster Way 🖥️

If you're a keyboard-first user, shortcuts are significantly faster than dragging — especially when windows are buried under other apps.

On Windows

ShortcutWhat It Does
Win + Shift + →Moves the active window to the next monitor (right)
Win + Shift + ←Moves the active window to the previous monitor (left)
Win + ← / Win + →Snaps the window to the left or right half of the current screen

The Win + Shift + Arrow shortcuts are the most reliable method on Windows 10 and 11. They work even when windows are maximized and don't require you to restore them first.

On macOS

macOS doesn't have a native built-in shortcut to move windows between monitors directly. You can:

  • Use Mission Control (Control + Up Arrow) to view all spaces and drag windows between them
  • Use third-party apps like Magnet, Rectangle, or BetterSnapTool, which add keyboard-driven window management including cross-monitor movement
  • On some setups, dragging from the green full-screen button lets you assign a window to a specific Space or display

The absence of native cross-monitor keyboard shortcuts on macOS is one of the bigger friction points in multi-monitor workflows, and it often pushes users toward utility apps.

On Linux

Behavior varies significantly by desktop environment:

  • GNOME: Limited native shortcuts; extensions like Put Windows add this functionality
  • KDE Plasma: Has built-in support — Meta + Shift + →/← typically works, or right-click the title bar and choose "Move to Screen"
  • i3 / tiling WMs: Fully keyboard-driven with explicit commands to move windows between outputs

Using Right-Click and Display Settings

On Windows, right-clicking the title bar of most windows gives you a Move option. After selecting it, you can use arrow keys or your mouse to reposition the window — useful when a window has been dragged partially off-screen or is stuck between monitors.

On Windows 11, you can also use Snap Layouts (hover over the maximize button) to position windows into specific zones — but this only affects the current monitor, not cross-monitor placement.

What Affects This More Than People Expect

Resolution and Scaling Differences Between Monitors

If your monitors run at different resolutions or DPI scaling settings, windows may appear to jump in size when moving between them. A window that looks sharp at 1440p may appear larger or blurrier at 1080p, depending on how scaling is configured. Windows and macOS handle this differently — Windows tends to rescale apps per-monitor if you have per-monitor DPI awareness enabled in display settings; older apps may not honor this correctly.

Multi-Monitor Configuration Alignment ⚙️

Your OS needs to know the physical relationship between your monitors. Go to:

  • Windows: Settings → System → Display → Arrange your displays
  • macOS: System Settings → Displays → Arrangement
  • Linux/GNOME: Settings → Displays

If the virtual arrangement doesn't match reality, windows will move in unexpected directions when dragged or shifted with keyboard shortcuts.

GPU and Driver Behavior

Some behaviors — like whether a window "snaps" back to its previous position when moved, or whether dragging feels smooth — are influenced by your GPU driver and OS compositor. This is particularly noticeable on Linux with Wayland compositors, where some apps don't yet fully support cross-monitor movement in the same way X11 apps do.

When a Window Won't Move

A window that refuses to move between monitors is usually explained by one of these:

  • It's full-screen (not just maximized) — full-screen apps in macOS especially lock to a specific Space
  • It's a system-level dialog or pop-up that's anchored to a parent window on another screen
  • The taskbar or dock is obstructing the edge where you're trying to drag
  • A third-party window manager is enforcing layout rules

Exiting full-screen mode first resolves most of these cases on both Windows and macOS.

The Variables That Make This Different for Everyone

The "right" method for moving windows between monitors isn't universal. It shifts based on your operating system and version, whether you prefer keyboard or mouse workflows, how many monitors you have and how they're oriented, the resolution and scaling mix across your displays, and whether you're using native OS tools or have added third-party window management utilities.

Someone running Windows 11 with two identical 1080p monitors in a side-by-side layout will have a very different experience from someone on macOS with a laptop screen plus an ultrawide, or a developer on KDE Plasma with three monitors in an L-shaped arrangement. The mechanics described here apply broadly — but how they behave on your specific setup is worth testing directly.