Stop Windows from jumping to 100% volume. LoudLock undoes sudden rises you didn't make, caps loudness per device, locks your mic level, and puts every app back at the volume you gave it.
⬇ Download LoudLock.exe · Website · How it decides · FAQ
You're at 20% with headphones on, and suddenly it's 100%. A Bluetooth headset reconnects at full volume, a driver resets after an update, a game or a browser tab sets its own volume to max, or System sounds creeps back to 100 every time you restart. Windows has no setting to stop any of it, and no maximum volume either.
LoudLock is a small tray app that watches every output device, microphone and app through Windows' own audio API and steps in within milliseconds:
- Undoes volume jumps. When a device or app rises by more than 25 points (you can change that) and nothing suggests you did it, the level goes straight back. Rises you make with a slider, the volume keys, the taskbar or the Volume mixer are left alone. If LoudLock got it wrong, click the notification to allow it.
- A highest volume per device. Cap your headphones at 60% and keep the speakers free. The cap applies to everything, you included, so it's also a simple way to protect a kid's ears.
- Mic lock. Hold a microphone at an exact level, so Discord, Teams, Zoom or a game can't keep turning it down (or up) with automatic gain.
- Apps keep their volume. LoudLock remembers the level you last gave each app and puts it back when the app starts, so Spotify, Discord, a game or System sounds don't come back at 100%.
- Reconnected devices come back quiet. When headphones reconnect louder than you left them, they're turned back down. LoudLock never turns a device up on its own.
- Says what was going on. Each correction is logged with the app in front and whatever connected or started playing in the 5 seconds before ("0.3 s after Headphones connected"). Windows doesn't record which program changed a volume, so this is a lead, not proof.
- Built-in self-test. Run self-test mutes your default output, fakes a program forcing 100%, a level over a limit and an app restarting at 100%, checks each one is undone, then puts your volume back.
- One small exe. No installer, no driver, no account, nothing injected into other programs, nothing sent anywhere. It runs on the .NET Framework 4.8 that ships with Windows 10 and 11. MIT licensed.
- Download
LoudLock.exefrom the latest release. - Put it somewhere permanent (for example
%LOCALAPPDATA%\LoudLock\) and run it. It starts with Windows from then on, since it can only catch a jump while it's running. You can turn that off in the tray menu. - Jump protection and app memory work right away. Click the tray icon to set a highest volume or a mic lock.
The exe isn't code-signed yet, so SmartScreen may show "Windows protected your PC". Click More info → Run anyway, or build it yourself (below). Release builds are compiled by GitHub Actions from the tagged source and come with a SHA-256 checksum.
Windows reports every volume change, but not who made it. LoudLock counts a change as yours when, at that moment:
- a mouse button is held down (you're dragging or clicking a slider), or a volume key is pressed, or
- a volume control is in front: the taskbar, the Volume mixer, Sound settings, EarTrumpet, or LoudLock's own window.
Anything else is treated as a program. A program's change is only undone when it's a rise bigger than the jump size (25 points by default). Drops are never undone, and neither are small rises, so apps that nudge their volume keep working.
| Rule | What it does | Applies to you too? |
|---|---|---|
| Undo jumps (on for outputs and apps) | A rise of more than the jump size that you didn't make goes back to where it was | No |
| Highest volume | The level can't go above it | Yes |
| Lock at | The level is held exactly | Yes |
| Put back when it starts (on for apps) | An app goes back to its remembered level when it starts playing | No: your last change is what it remembers |
| Reconnect (outputs) | A device that reconnects louder than you left it is turned back down, never up | No |
When a driver keeps forcing a level many times a second, LoudLock still corrects every time but logs one summary line instead of flooding the list.
Will it fight me? Not if it can tell it's you (above). If it does undo something you meant, click the notification, use Allow the last undone jump in the tray menu, or drag the slider instead of clicking far up the track. You can also raise the jump size or turn Undo jumps off per device or app.
Can it limit loudness in decibels, like a compressor? No. LoudLock controls the volume sliders, not the sound itself, so a loud scene in a film at 40% is still loud. For a true limiter, use Equalizer APO with a limiter plugin. The two work fine together.
Does it stop the jump before I hear it? It reacts to Windows' change notification, usually within a few milliseconds (the self-test prints the time). That's fast, but it's after the change, so a split second at the higher level is possible.
Does it change other programs or need admin rights? No. It uses the same documented Core Audio interfaces as the Volume mixer, runs as you, and doesn't inject anything into other processes.
Where are the settings?
%LOCALAPPDATA%\LoudLock\settings.ini (plain text, one line per device and app) and activity.log next to it (the newest 2,000 entries).
Why not Sound Lock, Volume Limiter or EarTrumpet? Sound Lock is closed-source freeware whose last version, 1.3.2, was listed in 2012 for Windows XP to 8; it caps the volume. Volume Limiter (last updated November 2016) locks a maximum, and its reviews mention the limit resetting to 100% after a restart. EarTrumpet is an excellent volume mixer, but it doesn't lock or limit levels. Mic-only lockers such as MicLockTray work well for microphones. LoudLock is the one that handles jumps, caps, mic locks and per-app memory together, and tells you what was happening each time.
LoudLock.exe --self-test fake the problems on your muted default output and check each is undone; exit code 0 = pass
LoudLock.exe --watch print every volume change and whether it looked like you or a program; changes nothing
LoudLock.exe --list list devices and playing apps with levels and rules; changes nothing
In PowerShell, pipe to Out-Host (for example .\LoudLock.exe --self-test | Out-Host) so the prompt waits for the output. If LoudLock is running in the tray, use Run self-test in its menu instead, which pauses protection during the test.
Needs the .NET SDK (6 or later) on Windows.
dotnet test tests/LoudLock.Tests
dotnet build src/LoudLock -c Release
The exe lands in src/LoudLock/bin/Release/net48/. The decisions (Guard) are separate from the Windows audio code (AudioEngine, CoreAudio) and covered by the unit tests.
People have been asking how to stop this for a decade, and the usual answers are "reinstall the driver" or "edit the registry":
- Microsoft Q&A: Windows 11 sets itself to max volume (20+ people with the same question, no fix) and How do I set a volume cap?
- Super User: Windows 10 volume randomly jumps to 100% (209k views), Limit volume range Windows 10 (38k views, no accepted answer), Why is my microphone's volume level keep resetting? (53k views, no accepted answer) and How to prevent individual App Volume settings from going down? (no answers)
- Reddit: Volume keeps auto-adjusting to 100% (2025), randomly goes up to 100% and cannot be changed (2025), System Sounds randomly resets to 100, When switching audio devices, volume jumps to 100, How do you prevent the input volume from going down?
MIT © 2026 BoazCohenJ

