Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth.
C#
1,454
219 commits
updated Aug 7, 2026
Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth.
Useful for avoiding screensavers or other things triggered by idle detection that, for whatever reason, you can't turn off any other way; or as a quick way to stop a screensaver activating during an installation or when monitoring a long operation without actually having to muck about with the screensaver settings.
This is not a tool for sneaking past your IT department.
Mouse Jiggler is easily detectable by any decent monitoring software. This is because these days decent monitoring software can pick up anything that doesn't use rootkit-style techniques to hide, and frankly, we have enough problems with false positives detecting Mouse Jiggler as malware without going down that road.
Basically, if you're looking for something to sneak past your IT department or monitoring software written by anyone who's even half awake, you don't want software. You want hardware. Now, you could buy one of the commercial dedicated mouse jigglers that police departments, etc., use to prevent computers from going idle, automatically logging out, and otherwise inconveniencing law enforcement, but instead, I suggest you buy yourself a Raspberry Pi Pico, and follow the instructions here:
https://www.tomshardware.com/how-to/diy-mouse-jiggler-raspberry-pi-pico
to make yourself a nice convenient little plug-in.
The easiest means of installing Mouse Jiggler is using either Winget or Chocolatey:
winget install ArkaneSystems.MouseJiggler
or
choco install mouse-jiggler --version=3.0.0
Bare releases continue to be available on the releases page, as MouseJiggler-mainline-x64.zip or MouseJiggler-mainline-arm64.zip, for installation without administrative permissions, although the .NET 10 Desktop runtime must be installed first.
Please note that due to a compatibility issue with the Chocolatey shims, running Mouse Jiggler via the shim does not display command-line help or the Mouse Jiggler version when the -h/--help/-? or --version switches are used. To do so, Mouse Jiggler must be invoked directly. To easily discover the location of the original Mouse Jiggler executable for this purpose, run:
mousejiggler --shimgen-log
A portable version of Mouse Jiggler (i.e., one which does not require the .NET runtime, and so can be installed on locked-down corporate machines that don't have it installed) is available on the releases page, as MouseJiggler-standalone-x64.zip or MouseJiggler-standalone-arm64.zip. Just unzip and go.
DO NOT USE THIS VERSION IF YOU HAVE ANY OTHER ALTERNATIVE.
Let me put it to you this way. Mainline Mouse Jiggler, at the time of writing, is a single executable 24 MB in size. Portable Mouse Jiggler is an executable 134 MB in size, for one of the most trivial applications imaginable, after all the assorted magic is done. (These numbers are for x64. The arm64 numbers are slightly bigger.) It's a bloated behemoth. If there is any possibility that you will ever run any other app that uses the .NET runtime, you are much better off installing that and the regular version.
The only reason this exists is for those poor sods whose IT department makes it impossible to do that, and may their deities have mercy on their souls.
Simply run the MouseJiggle.exe included in the release .zip file. Check the "Jiggling?" checkbox to start jiggling the mouse pointer; uncheck it to stop. To enable you to use the computer normally even with jiggling enabled, jiggling is automatically paused when the mouse is moved, and resumes after a complete jiggle interval without mouse movement.
Check the "Settings..." checkbox to reveal the settings; these should be relatively self-explanatory. The jiggle mode dropdown allows you to select from different jiggling modes. These include:
Other settings permit you to adjust the jiggle interval, the distance multiplier of the jiggle up to 120 (not a direct pixel value; note that high multipliers will make it difficult to use the mouse to turn off jiggling), and whether the timer is randomized (i.e., whether the interval between jiggles is constant or random within a range from one second to the selected interval).
To minimize Mouse Jiggler to the notification area, click the down-arrow button.
These settings are remembered from session to session. They can also be overridden by command-line options:
Usage:
MouseJiggler [options]
Options:
-j, --jiggle Start with jiggling enabled.
-m, --minimized Start minimized. [default: False]
-o, --mode <mode> Start with the specified jiggle mode (Normal, Zen, Circle, Linear). [default: Normal]
-r, --random Start with random timer enabled. [default: False]
-s, --seconds <seconds> Set number of seconds for the jiggle interval. [default: 60]
-d, --distance <distance> Set the multiplier for the jiggle distance. [default: 1]
-g, --settings Start with settings panel displayed.
--version Show version information
-?, -h, --help Show help and usage information
The -j command-line switch tells Mouse Jiggler to commence jiggling immediately on startup. Neither this nor '-g' are persistent.
When installed using Chocolatey, command-line help may not be displayed properly. See "installation" above.
This is a list of feature requests which I've decided won't be implemented in Mouse Jiggler for one reason or another, along with what those reasons are, just for reference:
Mouse Jiggler is a free product provided without warranty or support.
As per our new license terms, Mouse Jiggler is not to be used by any agency of the United States government, or by any employee of the United States government while engaged in their employment, or on any system owned or controlled by the United States government, or by any entity doing business with the United States government in a manner that would subject Mouse Jiggler or its developers to any regulations or laws governing software used by the United States government.
I regret the necessity of this, but given the United States government's recent incredible disregard for private property and the obligations of contracts, I have no desire to either (a) get any of it on me, or (b) encourage the belief that such behavior comes without consequence.
I apologize to any users who are affected by this, but I hope you understand the reasons for it.
726 followers · starred Jan 2024
161 followers · starred Mar 2022
38 followers · starred Apr 2024
37 followers · starred May 2024
Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth.
C#
1,454
219 commits
updated Aug 7, 2026
Mouse Jiggler is a very simple piece of software whose sole function is to "fake" mouse input to Windows, and jiggle the mouse pointer back and forth.
Useful for avoiding screensavers or other things triggered by idle detection that, for whatever reason, you can't turn off any other way; or as a quick way to stop a screensaver activating during an installation or when monitoring a long operation without actually having to muck about with the screensaver settings.
This is not a tool for sneaking past your IT department.
Mouse Jiggler is easily detectable by any decent monitoring software. This is because these days decent monitoring software can pick up anything that doesn't use rootkit-style techniques to hide, and frankly, we have enough problems with false positives detecting Mouse Jiggler as malware without going down that road.
Basically, if you're looking for something to sneak past your IT department or monitoring software written by anyone who's even half awake, you don't want software. You want hardware. Now, you could buy one of the commercial dedicated mouse jigglers that police departments, etc., use to prevent computers from going idle, automatically logging out, and otherwise inconveniencing law enforcement, but instead, I suggest you buy yourself a Raspberry Pi Pico, and follow the instructions here:
https://www.tomshardware.com/how-to/diy-mouse-jiggler-raspberry-pi-pico
to make yourself a nice convenient little plug-in.
The easiest means of installing Mouse Jiggler is using either Winget or Chocolatey:
winget install ArkaneSystems.MouseJiggler
or
choco install mouse-jiggler --version=3.0.0
Bare releases continue to be available on the releases page, as MouseJiggler-mainline-x64.zip or MouseJiggler-mainline-arm64.zip, for installation without administrative permissions, although the .NET 10 Desktop runtime must be installed first.
Please note that due to a compatibility issue with the Chocolatey shims, running Mouse Jiggler via the shim does not display command-line help or the Mouse Jiggler version when the -h/--help/-? or --version switches are used. To do so, Mouse Jiggler must be invoked directly. To easily discover the location of the original Mouse Jiggler executable for this purpose, run:
mousejiggler --shimgen-log
A portable version of Mouse Jiggler (i.e., one which does not require the .NET runtime, and so can be installed on locked-down corporate machines that don't have it installed) is available on the releases page, as MouseJiggler-standalone-x64.zip or MouseJiggler-standalone-arm64.zip. Just unzip and go.
DO NOT USE THIS VERSION IF YOU HAVE ANY OTHER ALTERNATIVE.
Let me put it to you this way. Mainline Mouse Jiggler, at the time of writing, is a single executable 24 MB in size. Portable Mouse Jiggler is an executable 134 MB in size, for one of the most trivial applications imaginable, after all the assorted magic is done. (These numbers are for x64. The arm64 numbers are slightly bigger.) It's a bloated behemoth. If there is any possibility that you will ever run any other app that uses the .NET runtime, you are much better off installing that and the regular version.
The only reason this exists is for those poor sods whose IT department makes it impossible to do that, and may their deities have mercy on their souls.
Simply run the MouseJiggle.exe included in the release .zip file. Check the "Jiggling?" checkbox to start jiggling the mouse pointer; uncheck it to stop. To enable you to use the computer normally even with jiggling enabled, jiggling is automatically paused when the mouse is moved, and resumes after a complete jiggle interval without mouse movement.
Check the "Settings..." checkbox to reveal the settings; these should be relatively self-explanatory. The jiggle mode dropdown allows you to select from different jiggling modes. These include:
Other settings permit you to adjust the jiggle interval, the distance multiplier of the jiggle up to 120 (not a direct pixel value; note that high multipliers will make it difficult to use the mouse to turn off jiggling), and whether the timer is randomized (i.e., whether the interval between jiggles is constant or random within a range from one second to the selected interval).
To minimize Mouse Jiggler to the notification area, click the down-arrow button.
These settings are remembered from session to session. They can also be overridden by command-line options:
Usage:
MouseJiggler [options]
Options:
-j, --jiggle Start with jiggling enabled.
-m, --minimized Start minimized. [default: False]
-o, --mode <mode> Start with the specified jiggle mode (Normal, Zen, Circle, Linear). [default: Normal]
-r, --random Start with random timer enabled. [default: False]
-s, --seconds <seconds> Set number of seconds for the jiggle interval. [default: 60]
-d, --distance <distance> Set the multiplier for the jiggle distance. [default: 1]
-g, --settings Start with settings panel displayed.
--version Show version information
-?, -h, --help Show help and usage information
The -j command-line switch tells Mouse Jiggler to commence jiggling immediately on startup. Neither this nor '-g' are persistent.
When installed using Chocolatey, command-line help may not be displayed properly. See "installation" above.
This is a list of feature requests which I've decided won't be implemented in Mouse Jiggler for one reason or another, along with what those reasons are, just for reference:
Mouse Jiggler is a free product provided without warranty or support.
As per our new license terms, Mouse Jiggler is not to be used by any agency of the United States government, or by any employee of the United States government while engaged in their employment, or on any system owned or controlled by the United States government, or by any entity doing business with the United States government in a manner that would subject Mouse Jiggler or its developers to any regulations or laws governing software used by the United States government.
I regret the necessity of this, but given the United States government's recent incredible disregard for private property and the obligations of contracts, I have no desire to either (a) get any of it on me, or (b) encourage the belief that such behavior comes without consequence.
I apologize to any users who are affected by this, but I hope you understand the reasons for it.
726 followers · starred Jan 2024
161 followers · starred Mar 2022
38 followers · starred Apr 2024
37 followers · starred May 2024