Version Française ici

NegativeScreen is a Windows application allowing you to invert your screen colors.
Apart from accessibility matters, this software is especially useful when you are surfing on the internet in a dark room, and the screen is dazzling you.

NegativeScreen was designed to work without impacting the performances and fluidity of your computer.
Unlike the Windows Magnifier, which is also capable of such color inversion, it was specifically designed to be easy and convenient to use.

Different inversion modes are provided, including “smart” modes, allowing blacks and whites inversion, while keeping colors (about) the sames.


Simple Inversion

Smart Inversion




The color inversion takes effect immediately after starting the program.

NegativeScreen comes with a minimal graphic interface in the form of a system tray icon with a context menu.
You can toggle the inversion by clicking the tray icon, and access more features by right clicking it.

Along with these commands, you can also control NegativeScreen only by using hot keys. Read on…


Default hot keys

Win+Alt+H: Halt immediately the program
Win+Alt+N: switch between normal mode and colors inversion mode (Night vision :))

Win+Alt+F1-to-F11: change inversion mode:

F1: standard inversion
F2: smart inversion 1 – theoretical optimal transformation (but ugly desaturated pure colors)
F3: smart inversion 2 – high saturation, good pure colors
F4: smart inversion 3 – overall desaturated, yellows and blues plain bad, actually relaxing and very usable
F5: smart inversion 4 – high saturation, yellows and blues plain bad, actually quite readable
F6: smart inversion 5 – not so readable, good colors. (CMY colors a bit desaturated, still more saturated than normal)
F7: negative sepia
F8: negative gray scale
F9: negative red
F10: red
F11: grayscale

Keep in mind you can always change these defaults by editing the configuration file.



The version 2.0 (and 1.13) introduces a configuration file allowing to tweak almost everything in NegativeScreen.

You can now choose your own hot keys if you don’t like the defaults, and you can even add you own color effects!
This requires some knowledge in color matrices though.
I may add an easy way to build some in a future version…

If the configuration file (negativescreen.conf) is missing, you can use the “Edit Configuration” menu to regenerate the default one.

Should something go wrong after edition (bad hot key…), you can simply delete the configuration file, the internal default configuration will be used.


Windows XP Version


Unfortunately, the Windows Magnification API this application uses, is not available on Windows XP.
Therefore, I’m sorry to tell, there will be no XP compatible version of NegativeScreen.




NegativeScreen is freely available, along with its source code, under GPL license.


Latest binary version (if you don’t know what to download, take this one)

Legacy binary version (no GUI, but works under Windows Vista)

C# sources

ColorMatrix Viewer. Another program to easily view and edit color matrices…


► ChangeLog (click to unfold)

Version 2.4, 2014-11-30
- [fixed] force the working directory to be the one of the executable (so the .conf file is found when starting from the cli)

Version 2.3, 2014-03-28
- [fixed] crash if more than one custom color effect is added without an associated hot key
- [added] (re)added the ShowAeroWarning configuration option from the version 1.*
- [added] check box next to the current color effect in the right click menu

Version 2.2, 2013-02-17
- [fixed] avoid crash if a hot key cannot be registered
- [added] new ActiveOnStartup configuration option

Version 2.1, 2012-12-22
- [fixed] crash on Windows 8 due to inter-threads calls
	(this was not a problem on Windows 7)
- [added] new MainLoopRefreshTime configuration option

Version 2.0, 2012-12-14
Major update:
	- reworked entirely
	- better performances
	- smooth transitions
	- graphic interface (minimal)
	- configuration file:
		- fine grained configuration
		- custom hotkeys
		- custom color effects

Version 1.14, 2014-11-30
- [fixed] force the working directory to be the one of the executable (so the .conf file is found when starting from the cli)

Version 1.13, 2013-07-04
- [added] implemented the configuration file for the version 1.*
- [added] configuration option to disable the message warning about aero being disabled

Version 1.12, 2012-12-14
- [fixed] crash on Windows 8

Version 1.11, 2012-06-26
- [added] new red and negative red filters bound on F9 and F10

Version 1.10, 2012-05-15
- [fixed] infinite flickering on Vista (introduced in 1.8)

Version 1.9, 2012-04-16
- [fixed] stupid bug if the Windows taskbar is vertical
Version 1.8, 2012-03-22
- [fixed] execution is no longer prevented if aero is disabled (previous bug corrected)
		however, the performances will still be horrible

Version 1.7, 2012-03-21
- [fixed] works as expected when using custom DPI settings
Version 1.6, 2012-02-27
- [fixed] crash on X86 on launch
- [fixed] prevent execution if aero is disabled
		(prevent undesirable behaviours: black screens, 100% CPU usage...)

Version 1.5, 2012-02-16
- [fixed] (internal) ColorMatrix implementation
- [added] new feature: choice between 9 inversion modes
		(smart mode, etc... see readme for details)

Version 1.4, 2012-02-09
- [fixed] does not crash anymore on Windows Vista

Version 1.3, 2012-02-01
- [fixed] multi-screen should finally work!
		after a lot of tests and coding, I re-thought completely the architecture
- [knownbug] in some screen configurations, if the primary screen if smaller than the other screen,
		 the second larger screen has a black border at its bottom.
		 It could be a bug in the Windows API...

Version 1.2, 2011-09-18
- [fixed] multi-screen support (again) : bug with main screen on the right

Version 1.1, 2011-09-13
- [fixed] multi-screen support
- [fixed] when halted while paused, the application never stopped

Version 1.0, 2011-09-06
- Initial release

If you are interested in technical details, you can read the following post, recounting the development of this project (in French).

  • #1 written by VoodooFox
    about 9 hours ago

    First off, great and fast app! 😀

    I was wondering, would it be possible to implement color correction to specific parts of the screen and then apply it as overlay (or some similar) blending mode.
    That could really help with monitors that have color uniformity problem on their monitors.

    For example I have dell monitor that’s more green on the left and more red on the right side.

    So I was wondering if it would be possible to use this app for correcting something like that?

    Again, thanks for the great app!

    • #2 written by Melvyn
      about 4 hours ago

      I think what you describe would theoretically be possible to do, but rather hard to implement (for example, how would you get the right irregular shape to properly blend the overlay to match your screen?)
      In any case, this is too far away from the intended purpose of NegativeScreen. This is not the right app for your use case, sorry.

  • #3 written by SupaMark
    about 1 week ago


    First of all, I’d like to say thanks for this awesome app. Unfortunately, I’m also reporting that I’m having a peculiar issue when I run it. I have dual 1080 monitors in Eyefinity (portrait mode 2160 x 1920); when I run NegativeScreen, the left hand of the left monitor becomes corrupted (around 240px from the edge). When I turn off Eyefinity the issue disappears. I hope you have possible workarounds (except NOT using Eyefinity :))


    • #4 written by Melvyn
      about 1 week ago

      Well, I’m sorry to hear about your issue, but if you are using the latest version (> 2.*) I’m afraid I can’t do anything for you :/
      Starting with 2.0, NegativeScreen uses the full-screen Windows Magnifier API, meaning I don’t have any control other than applying a color effect.
      You have probably found a bug in the API (Microsoft code). Just to make sure, did you try to use the Windows Magnifier color inversion? Did you notice the same problem?

      • #5 written by SupaMark
        about 1 day ago

        Hi Melvyn,

        Yes I did, and yes the issue did manifest unfortunately. So I guess this is something I should throw MS or AMD then… :-/

        Oh well… Thank you anyway! 🙂

  • #6 written by Federico Sturlese
    about 1 week ago

    Hello, congrats on this nice utility. A couple of questions:
    – where can I download the executable of version 2.5? I would be interested in trying the web api version
    – would it be possible to run the application by specifying the name of the color effect as argument on the command line?
    Thank you.
    Kind regards.

  • #8 written by Christopher Ong
    about 3 weeks ago

    Hi, thanks a lot for this awesome creation!

    I was wondering if it was possible to implement a setting in the config file or something to allow me to choose which part of the screen will have its color inverted, because sometimes i don’t want the whole screen to have inverted colors.


    • #9 written by Melvyn
      about 3 weeks ago

      It’s not possible with the current version of the API the app uses, sorry.

  • #10 written by Night Owl
    about 4 weeks ago

    Thank you for creating this program. I’ve been looking for something like this for a long time. Simple, but necessary- Might give my retinas a few more years of quality life.

  • #11 written by Phippo
    about 1 month ago

    Would it be possible for NegativeScreen to detect when the screen is locked and switch to normal colours? I’m using it on Windows 10 and it insists on pretty pictures which look weird when the colours are inverted.

    • #12 written by Melvyn
      about 1 month ago

      Almost everything is possible 🙂
      But I don’t think this is a top priority. I guess you will have to live with it. Sorry.

      • #13 written by Phippo
        about 1 month ago

        No problem, I’ve added something to my AutoHotKey script to kill NegativeScreen on lock and restart on unlock. It’s a bit messy in that it leaves an orphaned tray icon but that is a minor problem to me ( I can’t send keystrokes to NegativeScreen because it has no window and the lock screen swallows any fake keypresses I send). Code below:

        ; Stop NegativeScreen when locked, run again when unlocked.
        WM_WTSSESSION_CHANGE(wParam, lParam, Msg, hWnd) {
        static init:=(DllCall(“Wtsapi32.dll\WTSRegisterSessionNotification”, UInt, A_ScriptHwnd, UInt, 1) && OnMessage(0x02B1, “WM_WTSSESSION_CHANGE”))

        if (wParam=0x7) { ; lock
        Process Close, NegativeScreen.exe
        } else if (wParam=0x8) { ; unlock
        if (A_Is64bitOS) {
        Run %HOMEPATH%\PortableApps\PortableApps\NegativeScreenPortable\NegativeScreen.exe, %HOMEPATH%\PortableApps\PortableApps\NegativeScreenPortable
        } else {
        Run %HOMEPATH%\PortableApps\PortableApps\NegativeScreenPortable\NegativeScreenX86.exe, %HOMEPATH%\PortableApps\PortableApps\NegativeScreenPortable

  • #14 written by Abe_stew
    about 1 month ago

    Is it possible to create a matrix that inverses black and white whilst keeping the rest the same but also reduces the contrast / shifts the tone so that the result looks more ‘flat’ or ‘material design’? Been playing around with the color matrix but I can’t even get close to the result I want. Cheers.

  • #16 written by dgm_mixtoon
    about 1 month ago

    work on windows vista?

  • #18 written by James
    about 1 month ago

    Great! Windows Magnifier used to annoy me because when I did Alt+Tab, it would also include the magnifier.
    Negative Screen is easy, smart, free and open-source. Thanks developer.

  • #19 written by Mikhail
    about 1 month ago

    Good day!

    First of all I must say: this is amazing. You just realized what I dreamed for. I was totally surprised when I found this program.

    Now lets get back to the message.
    Not too long ago I started to work with 2 monitors. (MCU software, PCB design, schematics etc). And now I must ask you: is it possible to realize the version of this program which can invert colors of just 1 monitor?

    In my case I want to invent IDE to be able to write code on the black background.

    In any case thanks a lot. This is the best freeware program I’ve ever seen.

  • #24 written by Carlos
    about 2 months ago

    Is this available for Windows 10?

  • #26 written by Brian
    about 2 months ago

    I’m sure it’s not possible, but it could be cool if you had a smart dark mode, leaving program that are already dark alone but inverting programs that are light. Or allowed specific programs to be inverted with a toggle. I just started using Dark Reader for Chrome which is pretty sweet, not perfect. Other super bright programs I use for work I would love to darken.

  • #28 written by Leonardo
    about 2 months ago

    Can you apply the program only in one part of the screen, leaving aside the bottom of the screen without reversing? (Eg Windows 10 taskbar, which has a black bar and become white when reverse)?

    Sorry for my bad English.

    • #29 written by Melvyn
      about 2 months ago

      Theoretically possible with the “legacy” version, but no way to do it with the current version, sorry.

  • #30 written by nanangarsyad
    about 2 months ago


    Is it possible to apply NegativeScreen to only on of the screen from multiple screen desktop?


  • #34 written by MD. Mohiuddin Ahmed
    about 2 months ago


    I am using ‘inverted green’ colur. But there is lots of bright green places and dark green places. Can I have all of them become only one specific level of green say RGB(9,134,24) and replace dark portions winth completely black

    Thanks & Regards

    • #35 written by Melvyn
      about 2 months ago

      I’m not sure whether this is possible, but setting a maximum brightness for the green is :
      { 0.0, -0.3, 0.0, 0.0, 0.0 }
      { 0.0, -0.5, 0.0, 0.0, 0.0 }
      { 0.0, -0.1, 0.0, 0.0, 0.0 }
      { 0.0, 0.0, 0.0, 1.0, 0.0 }
      { 0.0, 0.6, 0.0, 0.0, 1.0 }

1 2 3 5

No trackbacks yet.