Control every display.
Automate the whole setup.
Tune each screen individually, capture complete display presets, then let Windows events switch them automatically. Everything runs locally on your PC.
DDC/CI + Windows APIs + GPU vendor APIs. No account. No telemetry.
Everything you actually need, per screen.
MoniTweak combines the right local interface for each job, then keeps every control attached to the display it belongs to.
Brightness everywhere
Use Windows brightness for an internal laptop panel and DDC/CI for supported external monitors.
Inputs & DDC/CI controls
Switch reliably identified HDMI, DisplayPort or USB-C inputs and expose supported values such as contrast, volume and sharpness.
Resolution, refresh & scaling
Choose a supported Windows resolution, refresh rate and scale for each display from the same panel.
Main display & monitor power
Move the Windows main display and send a reversible standby command to a supported external monitor.
HDR Experimental
Toggle Windows HDR per supported screen, without treating the whole desktop as one setting.
GPU saturation Experimental
Adjust per-display saturation through supported NVIDIA or AMD vendor APIs.
Capture a whole setup. Recall it in one action.
A preset stores the display choices that belong together: identified input sources, supported VCP values (brightness, contrast, volume…), Windows scaling, resolution, refresh rate, the main Windows display, per-display HDR and GPU saturation, monitor power state, and the Windows multi-monitor topology.
- Capture the current state instead of rebuilding it field by field
- Give each preset a color and its own global hotkey
- Apply it from the panel, tray menu or an automation
“Capture current state” fills in the values MoniTweak can read back reliably, including HDR and GPU saturation when their state is confirmed. Monitor power and the Windows display topology are added to a preset deliberately, not guessed by capture. Applying any of them still depends on what the display, Windows and the GPU driver support.
Set it once. Let Windows trigger it.
No scripts and no rule engine. Choose a real Windows event, then choose the preset MoniTweak should apply, or leave it on “Do nothing”.
Adapt brightness. Keep the system awake.
Brightness routines and Windows sleep prevention solve different problems, so MoniTweak keeps each one explicit.
Schedules & idle dimming
Set a global or per-screen brightness range, restore the previous level afterward, and dim on inactivity.
- Global or per-display time range
- Restore previous brightness after the schedule
- Optional fullscreen and media activity detection
Awake
Ask Windows to prevent automatic system sleep indefinitely, for a set duration or until a chosen time.
- Off, indefinitely, 30 min, 1 h or 2 h
- Until a chosen time or a custom 5–1440 min
- Remaining time and persisted expiry across app restarts
Awake prevents automatic system sleep. Your display can still turn off normally.
Your setup, one shortcut away.
Use the panel when you want detail, or skip straight to the action from the keyboard, tray or command line.
Global brightness
Separate up and down hotkeys for all displays.
Show or hide
Open the control panel with a global hotkey.
Preset hotkeys
Assign a dedicated shortcut to each preset.
Tray presets
Apply presets directly from the tray menu.
On-screen display
Get visual confirmation when brightness changes.
Command line
--apply-preset and --set-brightness.
Portable when you want it. Private by default.
MoniTweak keeps its configuration and diagnostics on your PC, and only creates files when you ask.
Backup & import
Export the entire configuration as human-readable JSON, carry it to another machine, and rebuild the imported settings immediately.
Diagnostics you control
Create a support ZIP with configuration, display snapshots, capabilities and logs. Read-only diagnostic mode blocks display writes.
Local operation
No account, telemetry or cloud sync. Nothing is uploaded automatically; standard network use is limited to optional update checks and downloads you request.
Know exactly where each control belongs.
The panel controls live display state. Presets store a precise subset. Automations apply a preset when an event occurs.
| Feature | Panel | Preset | Automation trigger |
|---|---|---|---|
| Brightness | ✓ | ✓ | — |
| DDC/CI values | ✓ | ✓ | — |
| Input source | ✓ | ✓ | — |
| Resolution | ✓ | ✓ | — |
| Refresh rate | ✓ | ✓ | — |
| Windows scaling | ✓ | ✓ | — |
| Main Windows display | ✓ | ✓ | — |
| Windows monitor topology | ✓ | ✓† | — |
| HDR Experimental | ✓ | ✓‡ | — |
| GPU saturation Experimental | ✓ | ✓‡ | — |
| Monitor power | ✓ | ✓† | — |
| Preset application | Panel / tray / hotkey | — | ✓ |
† stored in a preset when you set it there deliberately. ‡ also filled in by “Capture current state”, but only when the value is read back reliably. Applying anything here still depends on what the display, Windows and the installed GPU driver support.
See what your own displays can do.
Free download. Portable or installer. No account.