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 allanaes
    about 1 week ago

    Thanks a lot for creating this useful application, really helpful for reading PDF at night. For this purpose, I add custom matrix (F12 seems unassigned :)) based on grayscale just to dim white or any contrast colors.

  • #2 written by amit patel
    about 2 weeks ago

    thanks for the great software Melvyn
    if is there any way to make all the colors go black except for the pure white (255)
    please help me out it’s like a life saving tool dude 🙂

    • #3 written by Melvyn
      about 2 weeks ago

      You want to make everything go black except pure white?
      The result are not very useful in my opinion, but you could try with this matrix:
      { 600, 600, 600, 0, 0 }
      { 1200, 1200, 1200, 0, 0 }
      { 200, 200, 200, 0, 0 }
      { 1000, 1000, 1000, 1, 0 }
      { -2999, -2999, -2999, 0, 1 }

      • #4 written by amit patel
        about 2 weeks ago

        Thanks, man, I know it’s not very useful for you, but it’s going to help me find the error we get from the e-commerce website.
        sometimes we mistakenly leave not pure white (254 to 250) background, and it’s hard to see the difference, opening every image in Photoshop is not possible so now you now you save us from a headache thanks. 🙂

        • #5 written by Melvyn
          about 2 weeks ago

          Ah, I guess that makes sense. Well I’m glad you find it useful. 🙂

  • #6 written by Frank Becker
    about 3 weeks ago

    thank you a lot for NegativeScreen and for your good work. I use it on my PC and on my tablet. The PC runs with Win10 Pro, the tablet with Win10 Home. Both are on the same release and build. From one day to another NegativeScreen quits with an error message. It tells I should install .NET 4.0.30319. I was not sure if I have .NET installed so I downloaded the current version from Microsoft and tried to install it. But the installer of .NET says, it is already installed.
    On the PC NegativeScreen runs fine as usual.

    Please can you help me to fix this error? I’m so happy with the program. Because of my visual disabilities I need a dark background an white forground.

    Thank you a lot

  • #7 written by ScriptWang
    about 2 months ago

    BUG submit:
    It is will be disabled by mistake when turning on full screen in some video website like youtube , It is
    just happened in windows 10 .

  • #8 written by JL
    about 2 months ago

    Needless to say, your program is really amazing. I just want to point out a technical issue. The only weakness of this program is ClearType™, a sub-pixel font rendering technology, supported by Microsoft. Why? Well.. the following is just my guess for this situation. ClearType™ depends on the assumption that subpixel arrangement of LCD display usually follows R,G,B order, from left to right. However, unfortuantely, this reasonable assumption does not make sense for us, who are using the “brightness” inversion only, and leaving “hue” intact.

    Actually, I prefer to use the option, [F4: smart inversion 3], however, this inversion cannot convert black letters into purely white letters, but into bright pink letters, which is, of course, not a desirable result. (But if you try to invert the black letters in MS Word 2016 with NegativeScreen, you will get purely white letters. That’s because MS Word 2016 has abandoned these ClearType™ things from font rendering.)

    One way to avoid such pink letters is “to enlarge the font size of Windows to 150%”, (you can find that option at “Display Settings”) because it reduces such bad, unintended effect of subpixel rendering.

    • #9 written by Melvyn
      about 2 months ago

      Thank you.
      Yes you are right, ClearType is a huge annoyance when using the smart inversion modes…
      Unfortunately, disabling it, while it does remove the pink fringe, does not really improve the readability, so as you noted in another comment, it’s not a proper solution. (Besides, not all applications use the native ClearType, so it’s not even always an option)
      I guess enlarging the font size works because characters become much bigger than sub-pixels, so it’s less noticeable. But not everyone will be happy with such a solution 🙂
      As high-dpi screens become more widespread, this will hopefully become less of an issue.

  • #10 written by Chris
    about 3 months ago

    I love this tool and use it every day! Thank you!

    Would it be possible to configure the tool to NOT adjust the colors of specific applications? I have some applications that are already dark and would like to leave those untouched.

    • #11 written by Melvyn
      about 2 months ago

      Disabling inversion only for specific applications is not possible and it will most probably stay this way because it’s technically impossible with the current implementation. Sorry.

  • #12 written by Nyiko
    about 3 months ago


    Im using the software on windows 7 Panasonic FZ-M1 Personal computer tablet. The top part of the screen does not show when i turn on to any mode. The mode does activate but only the bottom part of the screen can be seen. I would attach a screen shot of my screen if the was an option to attach a photo

    • #13 written by Melvyn
      about 2 months ago

      You are probably experiencing a known bug, occurring on portrait mode displays… (I guess you are using your tablet vertically?)
      I unfortunately can’t do much about it, since the bug is present inside the Microsoft API NegativeScreen is using.
      To convince yourself, you can try to use the Windows Magnifier, and set it to invert the screen’s colors. You will probably notice the same behaviour as with NegativeScreen.

      • #14 written by Federico Sturlese
        about 1 month ago


        Im using the software on windows 7 Panasonic FZ-M1 Personal computer tablet. The top part of the screen does not show when i turn on to any mode. The mode does activate but only the bottom part of the screen can be seen. I would attach a screen shot of my screen if the was an option to attach a photo

        Hello, I just wanted to point out that if you download the legacy version (1.4) it will work in portrait mode as well, as long as you can survive without the improvements of the latest versions.

  • #15 written by Mario
    about 3 months ago

    Just wanted to thank you as it is an amazing tool to help with eye stress. Have a great day.

  • #17 written by john
    about 3 months ago

    Is it possible to run the application on windows startup without inverting the colors? so that it is only running in the background and when needed can be used with the hotkeys?

  • #19 written by Andreas
    about 3 months ago

    Any Chance to get the Multi-Screen Feature again?
    So that it is possible to use the tool only on a dedicated screen in a Multi-Screen System? Or even on a single Program-Window?


    • #20 written by Melvyn
      about 3 months ago

      This is unfortunately not possible with the better and more efficient full screen mode the current version uses.
      As I said in the past, I might one day implement the previous method so that it’s possible to switch between full screen mode and window/screen mode, but this is a lot of work, and it is not on my agenda for now…

  • #21 written by trysta312
    about 4 months ago

    It works and all but how do you make the colors back to normal again?

    • #22 written by pberger
      about 4 months ago

      Just click on the program’s icon in the taskbar (bottom right by default)

      • #23 written by Devilin Pixy
        about 3 months ago

        Or just toggle using + + N
        Check the README.txt for Default controls.

  • #24 written by F.
    about 4 months ago

    This is the most useful application for people who suffers RP (Retinitis Pigmentosa). You are a genius!. Many thanks! It should be implemented in every OS!

  • #25 written by VoodooFox
    about 5 months 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!

    • #26 written by Melvyn
      about 5 months 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.

      • #27 written by VoodooFox
        about 4 months ago

        Shape does not have to be 100% accurate but with decent dslr you can take an image of the screen to just get the general idea about the deviations.
        For example, that hue shift that some monitor have, are generally linear and most basic gradient fill with inverse color values fixes the problem.

        Of course it does introduce some small banding in some specific cases, but it’s choosing lesser of two evils in that case.

  • #28 written by SupaMark
    about 5 months 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 :))


    • #29 written by Melvyn
      about 5 months 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?

      • #30 written by SupaMark
        about 5 months 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! 🙂

  • #33 written by Federico Sturlese
    about 5 months 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.

  • #35 written by Christopher Ong
    about 5 months 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.


    • #36 written by Melvyn
      about 5 months ago

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

  • #37 written by Night Owl
    about 5 months 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.

  • #38 written by Phippo
    about 6 months 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.

    • #39 written by Melvyn
      about 6 months 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.

      • #40 written by Phippo
        about 6 months 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

  • #41 written by Abe_stew
    about 6 months 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.

  • #43 written by dgm_mixtoon
    about 6 months ago

    work on windows vista?

  • #45 written by James
    about 6 months 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.

  • #46 written by Mikhail
    about 6 months 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.

  • #51 written by Carlos
    about 7 months ago

    Is this available for Windows 10?

  • #53 written by Brian
    about 7 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.

  • #55 written by Leonardo
    about 7 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.

    • #56 written by Melvyn
      about 7 months ago

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

  • #57 written by nanangarsyad
    about 7 months ago


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


  • #61 written by MD. Mohiuddin Ahmed
    about 7 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

    • #62 written by Melvyn
      about 7 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.