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.5, 2017-05-28
- [fixed] when an instance is already running, enable its color effect instead of showing an unhelpful message about it
- [fixed] no longer crash when trying to set a color effect while the Windows Magnifier color inversion is enabled
- [added] a basic web api is now part of NegativeScreen! See the readme for more information
- [added] new EnableApi configuration option, defaults to false
- [added] new ApiListeningUri configuration option, defaults to listening on port 8990, localhost only
- [added] new About window, available from the systray menu
- [added] add a retro-compatible user-specific fallback location for the configuration file:
		- if the file "%AppData%/NegativeScreen/negativescreen.conf" exists, it will be used in priority.
		- if the "negativescreen.conf" file beside the executable cannot be modified,
			trying to edit the current configuration will result in a configuration in AppData being created.

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 Wren
    about 43 minutes ago

    Hi, thanks for the great program!
    I was wondering if it’s possible already, or if you have any plans in the future, to make the program run at Startup. I realize that it’s only a quick click to get NegativeScreen started but it would be nice to have it running from the get-go.
    Thanks again!

  • #3 written by Selan
    about 5 days ago

    By accident, my screen gone to B&W mode and never return to normal color mode.
    I re-installed NegativeScreen and did some modification on color matrix but, I can’t get my screen back.
    Another user screen on the same PC is not affected. So, I think that I can fix this with simple operation on one of user-dedicated files. But, I can’t recognize what is it.
    I really need some help to recover my screen.

    • #4 written by Melvyn
      about 5 days ago

      If it happened without you changing anything with NegativeScreen, and it does it even after you deleted NegativeScreen, I’m afraid this is not NegativeScreen doing this to your computer.

      If you are on Windows 10 you can open the task manager and see in the “startup” tab if there is anything that might cause your problem. Otherwise you are on your own to try and find the program responsible. Sorry.

      • #5 written by Selan
        about 4 days ago

        Thanks for your comment.
        Something dropped on my keyboard when I was typing it and my screen gone to B&W mode. Just after that, NegativeScreen works well, inversions, sepia, and so on. But only Alt+Win+N did not call back my color screen.
        Strangely, mouse pointer and login/logoff/shutdown screen is displays in color! So, I think that this is not concerned with H/W but S/W.
        Temporarily, I created other user on that PC. Temporary user has color-display as I expected.
        I’m using windows 10.
        Anyway, thank you for your answer.

  • #6 written by Cody
    about 1 week ago

    Thanks for this program, it has saved me until I get cataracts surgery, much better than the simple inversion in Windows Magnifier!

    I was going to ask about hotkeys for discrete enable/disable, which I did see one other post about, but I came up with a solution that someone else might find useful. Simply create a color matrix with no adjustment for “off”, and use your preferred mode for “on”. This makes the toggle not so useful, but I plan to emulate that in another program anyway, so I can trigger other events when inverting or not inverting (specifically different wallpapers).

    No Adjustment=win+alt+F12
    { 1, 0, 0, 0, 0 }
    { 0, 1, 0, 0, 0 }
    { 0, 0, 1, 0, 0 }
    { 0, 0, 0, 1, 0 }
    { 0, 0, 0, 0, 1 }

  • #7 written by J.A. Clark
    about 1 month ago

    Would it be possible to run NegativeScreen for a specific application via command line argument OR from a batch file – enabling/turning NegativeScreen on before application starts and subsequently disabling/turning off when quitting?

    • #8 written by Melvyn
      about 1 week ago

      There is currently no command line interface, but there is a web based API (see the readme), so this should be possible with some work.

      Or you could simply set it to apply the effect you want on startup, then just start the process and kill it when you are done… 🙂

  • #9 written by Stuart Salvador
    about 1 month ago

    Any potential for using NegativeScreen only for particular colors? I’m trying to just invert the three colors used by Skype for Business so I can read it as it doesn’t adopt high contrast.

    • #10 written by Melvyn
      about 1 week ago

      NegativeScreen makes use of color transformation matrices, and they always apply globally, so no, it’s not possible to only invert some colors.

  • #11 written by Keith
    about 1 month ago

    NegativeScreen has been extremely valuable to me. I use it everyday. Thanks!

    One thing I;d like to do, but haven’t been able to figure it out, is transform everything to inverted black and white. Like Windows High Contrast mode but without dropping out of Aero mode.

    Another thing I’d like is to have a transform to change one color to black. I have some apps that use gray 0xABABAB as the background. I can’t see black or white text on the gray background. If I could change 0xABABAB to 0x000000 or 0xFFFFFF it would really help. Is that possible?

    being legally blind kinda sucks, but NegativeScreen helps me stay productive!


    • #12 written by Melvyn
      about 1 month ago

      You can try this matrix (add it to the configuration file) to transform to inverted black and white:

      Inverted Binary=
      { -127, -127, -127, 0, 0 }
      { -127, -127, -127, 0, 0 }
      { -127, -127, -127, 0, 0 }
      { 0, 0, 0, 1, 0 }
      { 181, 181, 181, 0, 1 }

      But you might be disappointed with the result…
      The high contrast mode has been specially engineered for this purpose, and it’s likely impossible to do it well with a global transformation.

      Regarding the single color transformation, it’s not possible. NegativeScreen uses global transformation matrices, and you can’t just pick a color and change it without affecting other colors.

      That said, it should be possible to increase contrast with a transformation matrix. I will look into it.

  • #13 written by Craig
    about 1 month ago

    I’m not sure if this was answered… would it be possible to have NegativeScreen watch for CTRL+WIN+LEFT/RIGHT keystrokes, and turn on/off NegativeScreen based on which desktop I’m viewing? [This is not multi-monitor, but rather multi-desktop].

    [I could perhaps see this being confused by using WIN+TAB and selecting a different desktop, but maybe there must be a system value thats exposed somewhere]

    If this would work, this would give me a way to use NegativeScreen with specific programs [Chrome doesn’t need it, but Evernote does need it… just full-screen them on different desktops]

    • #14 written by Craig
      about 1 month ago

      Don’t worry about this, unless you want to pursue it. I’m finding that ClearType is preventing this from working for me, unless I go greyscale inversion [Even though I love the smart inversion generally]

      • #15 written by Melvyn
        about 1 month ago

        That’s an interesting request.

        I’m not sure a lot of people actually use the multi desktop capabilities of Windows 10, but it could make sense… Thanks for suggesting it, I’ll keep it in the back of my head, even if it does not work for you like you said.

  • #16 written by Pol
    about 3 months ago

    I love it, but it’s not working on chrome when it’s on fullscreen mode. I stays for some seconds and then stops working.

    • #17 written by Melvyn
      about 3 months ago

      Maybe try to disabling hardware acceleration on Chrome… (not ideal, I know)

    • #18 written by John
      about 1 month ago

      I too am having trouble using negative screen and Chrome. I’m using windows 10, never had this problem in 7.

      Chrome will jump back and forth between inverted and not randomly, It makes chrome unusable for me. I tried disabling hardware acceleration and it made no difference. Has a fix been identified for this?

      • #19 written by Melvyn
        about 1 month ago

        No fix for chrome as of now, aside from disabling hardware acceleration… sorry.

  • #20 written by RotS
    about 3 months ago

    I would like to make a suggestion to this very useful application. It’s about being able to set an automated toggle. If the app detects that the screen is darker than average, it should toggle off the Negative Screen because it is not needed anymore. On the contrary, if it detects that the screen is lighter than average, it toggles back the Negative Screen. This would be useful when often switching between dark and light screens.

  • #21 written by Max
    about 3 months ago

    Hi there 🙂 I realy tried to get into color matrices, but i cant seem to get my wanted result.

    I have a Music-Program called “Bitwig” and i want to replace darkgrey (0,62, 0,62, 0,62) and light grey(0,85, 0,85, 0,85) with pitch black, but leave all other colors (blue,orange,purple,etc.) untoched. Is that possible?

    and If so how can i calculate the correct matrix? 🙂 I also worked with “ColorMatrixViewer” but cant seem to get the right paramters.

    Anybody? :):):):) Thank you 🙂

  • #22 written by Boris
    about 3 months ago

    First off, this has been one of my most important apps on Windows for probably 5 years now, thank you!! I have it on over 90% of the time I’m on my computer.

    I just had to switch to Windows 10 at work, and now am having issues with NegativeScreen.
    For example, Chrome keeps switching between inverted and not, depending whether my mouse is over a link (it inverts the Chrome window if my cursor is over a hyperlink on the page, then when I move it away from the link, the inversion get disabled (just in the Chrome window) after a few seconds)

    Similar behavior with Atom IDE. If I switch focus to a different window, Atom window is no longer inverted.

    • #23 written by Melvyn
      about 3 months ago

      Unfortunately this is a problem that has been reported a number of times already, but I can’t do anything about it since I’m only calling a Windows api without much control over it.

      A workaround that seems to work is to disable hardware acceleration in chrome. Hardly an ideal solution, I know…

      • #24 written by Boris
        about 3 months ago

        Thanks a lot for the quick reply, Melvyn!

        Yeah, it seems like using Magnifier directly has the exact same problem.

        How do you solve this problem for yourself? By not using Windows 10? 😀

        This is so important to me, that I will probably start looking into coding on top of a graphics driver, or maybe hacking the monitor firmware, unless someone has already done something similar… Will definitely use your smart inversion matrix (alt 2) in that case, which has been working so well for me!

  • #25 written by kyle
    about 4 months ago

    hi how can i use it on linux and if i cant what can i use for grayscale.

    • #26 written by Melvyn
      about 4 months ago

      NegativeScreen only works on Windows and I don’t know the alternatives for linux, sorry.

  • #27 written by Eduardo
    about 4 months ago


    Have you tried to use NegativeScreen in fullscreen mode? I find a bug there. Every time that I change to fullcreen mode after a few seconds that application stops inverting the color.

    Anyone else facing the same issue?

  • #28 written by Ai_Leen
    about 5 months ago

    Thank you!

  • #29 written by dragonvale19
    about 6 months ago

    what is a configuration file… what is it… please tell me

    • #30 written by dragonvale19
      about 6 months ago

      sorry, u discovered the stupid magic that if you rightclick the app when its open in the lower right list of apps in the taskbar, you can, using magic, magically go straight to the configuration settings

    • #31 written by dragonvale19
      about 6 months ago

      now that im all done, i just want to say; thank you for making this. it was very accessible even to a young teen like me, and now i have a bunch of cool effects available on my computer! yaaayyyy…. i even added sepia and hueshifting!

    • #32 written by dragonvale19
      about 6 months ago

      yay for continued replies to my own comments…

      i know that this wasnt originally a setting you implemented, but i think it should still be noted that when hueshifting the image on your screen, it the colorslose contrast from one another slightly.

    • #33 written by dragonvale19
      about 6 months ago

      you can delete these comments if you want…. but seriously. when using smart inversion (the high saturation version), along with hueshift, colors lose contrast from one another to a small degree and i feel like this can be fixed

      • #34 written by Melvyn
        about 6 months ago

        I know the colors are not exactly the same. That’s why there are more than one smart mode: because it’s not perfect. Also, no this can’t be fixed (but you are free to try).
        Now please stop spamming 🙂

        • #35 written by dragonvale19
          about 6 months ago

          please just delete my comments or tell me how… i dont want to spam but i dont know what else to do… i am learning a lot about color matrices from this program and i thank you very much for making it though…. thanks for the reply! hopefully i wont have anything else to comment about

  • #36 written by hope
    about 6 months ago

    The first execution, change colors
    The second execution,appear message

    can or not
    change The second execution
    when execution
    change the color, do not appear message.

    • #37 written by hope
      about 6 months ago

      My mean is
      The first execution, change colors (State one to State two;have change)
      The second execution, change colors(State two to State one;no change)
      The third execution, change colors (State one to State two;have change)

    • #38 written by Melvyn
      about 6 months ago

      Hi, I’m having a hard time understanding what you are trying to say.

      Basically, you see a message when starting the application again after it’s already running, is that it?

      This should be fixed with the latest update (from just before june). If you are still seeing a message with the current version, I’m going to need more information…

  • #39 written by User
    about 6 months ago

    How does one edit the Win+Alt+N hotkey to disable/enable NegativeScreen? Just upgraded to Office365 and OneNote uses the same hotkey and overrides its application to NegativeScreen. If anyone knows how to edit the OneNote hotkey, I don’t mind doing that instead.

    • #40 written by Melvyn
      about 6 months ago

      You can do that by editing the configuration file. See the readme…

      I don’t think you can edit OneNote’s hotkeys.

      Thanks for letting me know about this hotkey conflict btw. This is unfortunate…

      • #41 written by John
        about 2 months ago

        Firstly, thank you. I’ve used this for years on Windows 7. Now I’m on 10 and I cannot locate the configuration file to save my life. Where is it? All I see is; changelog, license, negative screen, and readme.

        This hotkey conflict withy Onenote is driving me insane and I can’t find a work around. Please help!

        • #42 written by Melvyn
          about 2 months ago

          It’s supposed to be next to the executable, but if it does not exist, you can create it from the default configuration by using the “Edit Configuration” menu. (Right click on the NegativeScreen icon in the systray)

          • #43 written by John
            about 1 month ago

            Thank you, Melvyn. You’re an internet hero!

  • #44 written by Fabio
    about 7 months ago

    Hi, thank you for your work!
    I have a question: is it possible to invert the colors of a specific monitor? In the version 1.3 there was a multi-screen feature.

  • #46 written by Piotr
    about 8 months ago

    I disabled blue channel. Now it’s yellow! Yay!

1 4 5 6