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 Nath
    about 1 year ago

    Is there a way to get this to work without Aero? Corporate IT has a master theme that doesn’t allow Aero.

    • #2 written by Melvyn
      about 1 year ago

      It’s been a while since I last tested this, but if I recall correctly, NegativeScreen < 2.0 ("legacy" version), works without Aero, but the framerate is not excellent and it uses lots of CPU. The current version of NegativeScreen doesn't work at all without Aero.

  • #3 written by Sebastian
    about 1 year ago

    Add a polygamy feature to NegativeScreen so you can open multiple instances of it!

    • #4 written by Melvyn
      about 1 year ago

      Why would you want that?!

      • #5 written by Sebastian
        about 1 year ago

        Because I want to square the inversion effect that it makes.

        • #6 written by Melvyn
          about 1 year ago

          Then use to multiply your matrices.

          • #7 written by Sebastian
            about 1 year ago

            But how do I do that?

          • #8 written by Melvyn
            about 1 year ago

            Matrices in the list are automatically multiplied in their order of appearance, so just put the same matrix two times in a row or more, and see what you get. The result might not be intuitive but the result with two instances of NegativeScreen would be the same…

          • #9 written by Sebastian
            about 1 year ago

            Here is one matrix I made of negative red squared:
            { 0.09, 0, 0, 0,0}
            { 0.18, 0, 0, 0,0}
            { 0.03, 0, 0, 0,0}
            { 0, 0, 0, 1,0}
            { 0.7, 0, 0, 0,1}

  • #10 written by George Sanchez
    about 1 year ago

    Hi – LOVE your program, its been extremely useful for me. While I may not use it for eye strain purposes, I do use it to see any odd color palletes on images that I can use. I was wondering if there was a way to invert the hue (rotate hue by 180 degrees I believe) BUT.. not to invert luminance. I would attempt to do this myself but the ColorMatrix editor doesnt seem to work on windows 10. Many thanks and you are amazing for making this useful program that helps so many people with this seemingly overlooked issue of eyestrain. 🙂

    • #11 written by Melvyn
      about 1 year ago

      Hey, thank you! I ColorMatrix Viewer works fine on my Windows 10, so I don’t know what’s wrong for you. Here is a matrix to rotate the hue by 180°:
      { -0.3333333, 0.6666667, 0.6666667, 0.0000000, 0.0000000 }
      { 0.6666667, -0.3333333, 0.6666667, 0.0000000, 0.0000000 }
      { 0.6666667, 0.6666667, -0.3333333, 0.0000000, 0.0000000 }
      { 0.0000000, 0.0000000, 0.0000000, 1.0000000, 0.0000000 }
      { 0.0000000, 0.0000000, 0.0000000, 0.0000000, 1.0000000 }

      • #12 written by George Sanchez
        about 1 year ago


      • #13 written by Sebastian
        about 1 year ago

        Hey, it is a combination of normal inversion and smart inversion!

        • #14 written by Melvyn
          about 1 year ago

          Actually, smart inversion is a combination of normal inversion and a 180° color rotation, but yeah, it’s the same 🙂

          • #15 written by Sebastian
            about 1 year ago

            And are you allowed to use Magnifier and NegativeScreen together?

          • #16 written by Melvyn
            about 1 year ago

            There is a bug in the current version, making NegativeScreen crash. I’ve fixed it, but not yet released a new version.

          • #17 written by Sebastian
            about 1 year ago

            Here’s a matrix that has smart inversion and red:

            Smart Inversion and Red=win+alt+shift+F1
            { 1.3533333, -0.6666667, -5.6666667, 0.0000000, 0.0000000 }
            { -0.6666667, 0.3333333, -0.6666667, 0.0000000, 0.0000000 }
            { -0.6696667, -0.6666667, 5.3333333, 2.0000000, 0.0000000 }
            { 0.0000080, 0.0000000, 0.0000000, 1.0000000, 0.0000000 }
            { 1.0050000, 1.0000004, 1.0000000, 0.0000000, 1.0000000 }

  • #18 written by Deleted
    about 1 year ago

    Any idea on how to invert only scale of grays?

    • #19 written by Melvyn
      about 1 year ago

      Well, it’s part of the default color effects… (Alt+Win+F8)

      • #20 written by Deleted
        about 1 year ago

        Actually that matrix makes everything in the scale of grays. I was looking for a matrix that inverts only black to white, light gray to dark gray leaving all other colors intact.

        • #21 written by Melvyn
          about 1 year ago

          Since black is a combination of other color channels, I’m afraid this is impossible with a color matrix then.

  • #22 written by Skype: Captain.Techlord | Instagram: techlord.777
    about 1 year ago

    I love your tool!
    And thank you for sharing the source code!
    If I have any feature suggestions, I will let you know.

    Smart Inversion 2 ﴾Win+Alt+F3﴿ is the most beautiful one.
    I wish that an Android App could also do this.

    I have TouchWiz Nature UX 2.5, which has still the legacy natural Samsung colours.
    But if somebody upgrades to Android Lollipop, he will need your tool to compensate the ugly user interface.

  • #23 written by Vaclav Muller
    about 1 year ago

    Everytime I want to apply changes in Configuration, I must to restart the aplication.
    Could you for example add the “Apply changes” to the program menu?

    • #24 written by Melvyn
      about 1 year ago

      This is not in my plans right now. I agree the whole process of editing the configuration could be improved (and I might get to it one day), but modifying the configuration is supposed to be a one time thing, so it should not be too much of an annoyance.

  • #25 written by kemantro
    about 1 year ago

    Just for fun, a rotated hue:

    { -0.9, -0.9, 1, 0, 0 }
    { 1, -0.9, -0.9, 0, 0 }
    { -0.9, 1, -0.9, 0, 0 }
    { 0, 0, 0, 1, 0 }
    { 0.9, 0.9, 0.9, 0, 1 }

    paste in the end of your configuration

    • #26 written by Sebastian
      about 1 year ago

      But you can change the hotkey of Win+Alt+F12.

    • #27 written by Sebastian
      about 1 year ago

      And for more fun:
      { -0.8, -0.9, 1, 0, 0 }
      { 1, -0.9, -0.9, 0, 0 }
      { -0.9, 1, -0.8, 0, 0 }
      { 0, 0, 0, 1, 0 }
      { 0.9, 0.8, 0.9, 0, 1 }

    • #28 written by Sebastian
      about 1 year ago

      { -0.99, 2.62, -0.99, 0, 0 }
      { -0.99, -0.99, 2.62, 0, 0 }
      { 2.62, -0.99, -0.99, 0, 0 }
      { 0, 0, 0, 1, 0 }
      { 0.180000, 0.180000, 0.180000, 0, 1 }

  • #29 written by Sebastian
    about 1 year ago

    Does this work on Windows 10?

    • #30 written by Melvyn
      about 1 year ago

      Yes it does.

      • #31 written by Sebastian
        about 1 year ago

        And one more question, do antiviruses seem to detect it?

        • #32 written by Melvyn
          about 1 year ago

          No they don’t. There is nothing malicious or that could be interpreted as suspicious with it.

          • #33 written by Sebastian
            about 1 year ago

            Why not add more inversion colors?

          • #34 written by Sebastian
            about 1 year ago

            One little request: I want you to get me the colour matrix to turn the display into green and amber (NOT negative green or amber).

          • #35 written by Melvyn
            about 1 year ago

            If you already have a color matrix and want the negative version, you can use ColorMatrix Viewer to multiply the first matrix with the negative matrix, and the result will be a negative version of your color effect.

  • #36 written by Dax Liniere
    about 1 year ago

    It would also be great if you could add two keycommands to specifically enable and disable the inversion. Currently, I will need my script to launch NS (with ActiveOnStartup=true) and then use win+alt+H to switch it off by ending the NS process. It seems better to me that it should stay running in the background and on/off should be toggled.
    To prevent an incorrect state, we could use direct keycommands to enable and disable inversion.


    • #37 written by zandy
      about 1 year ago

      I’ve made a version with command line switches that can enable and disable the effects of an already running instance. I can share if you’re interested.

  • #38 written by Dax Liniere
    about 1 year ago

    I’m working on an AutoHotKey (AHK) script that will enable inversion only when a certain program is on-screen and only at night (18:00-06:00).
    It should be possible, but it would be even nicer if this feature was built into your program.

    Wish me luck!


  • #39 written by Vaclav Muller
    about 1 year ago

    White to green, black to white.
    For my eyes ideal for reading of black texts on white background.

    { -1.0, 0.0, 0.0, 0.0, 0.0 }
    { 0.0, -1.0, 0.0, 0.0, 0.0 }
    { 0.0, 0.0, -1.0, 0.0, 0.0 }
    { 0.0, 0.0, 0.0, 1.0, 0.0 }
    { 1.0, 1.4, 1.0, 0.0, 1.0 }

    • #40 written by Sebastian
      about 1 year ago

      I just tried this and it worked perfectly.

  • #41 written by ATan
    about 1 year ago

    Great work.
    Would it be possible to write a simple plugin API, to be able to feed NegativeScreen information when and what to ignore? Then for example we could write plugins to make exceptions for pictures and video, for example a Firefox plugin, VLC plugin etc.

    • #42 written by Melvyn
      about 1 year ago

      Thanks for your comment.

      At first, I thought your suggestion was a great idea. Then I paused for a moment and tried to think about the use cases for such a plugin API, and couldn’t quite find any:

      There is no way to exclude a specific window, so at best you could programmatically toggle the active color effect. You would then need to detect whether your application is visible on screen (which is harder than it seems to do reliably and efficiently), and unless I’m missing your point, all plugins would basically do just that.
      If this is what you had in mind, wouldn’t it be better to simply allow users to instruct NegativeScreen to disable itself when an application, identified by its name, is on screen?

      On a side note, I experimented a while back on a similar idea, but more generic: NegativeScreen would auto-toggle based on the current screen brightness, refreshed every few milliseconds. It basically worked, but was very CPU intensive, and sometimes borderline seizure inducing, so I never released it… This idea might be worth testing again…

  • #43 written by JC Denton
    about 2 years ago

    Why don’t you post the changelog on this page (along with the latest version number) so that people can see at a glance if there are any updates to the program?

    It would be useful to have this done.

    • #44 written by Melvyn
      about 2 years ago

      But, it already is on this page ^^’.
      Just click on the “Changelog…” title and it will unfold. (It was taking too much space otherwise)

      I will try to make it more visible the title can be clicked.

  • #45 written by I adore this program. I just have one question/problem.
    about 2 years ago

    “The color inversion takes effect immediately after starting the program.” … How do I have it NOT do this? I’d like the program to initialize upon startup but not invert. Right now I have the exe in my startup folder and it initializes fine, but it also inverts automatically (which I don’t want).

    • #46 written by Melvyn
      about 2 years ago

      The “ActiveOnStartup” property in the configuration file is there for that exact purpose 🙂
      Just edit the file, and replace ActiveOnStartup=true with ActiveOnStartup=false and you are done.

      And thanks for your donation by the way. It’s always much appreciated!

  • #47 written by Sam Watkins
    about 2 years ago

    This program is great, thanks very much.

    It doesn’t work with f.lux, so I made some matrices for simple inversion and uninverted that reduce blue light. Not sure if that’s already mentioned here. I don’t know what I’m doing with the matrices, but they seem to work! I am not using the smart modes because they smudge anti-aliased text a bit.

    Inv Red=win+alt+F1
    { -1, 0, 0, 0, 0 }
    { 0, -1, 0, 0, 0 }
    { 0, 0, -1, 0, 0 }
    { 0, 0, 0, 1, 0 }
    { 1, .8, .6, 0, 1 }

    { 1, 0, 0, 0, 0 }
    { 0, .8, 0, 0, 0 }
    { 0, 0, .6, 0, 0 }
    { 0, 0, 0, 1, 0 }
    { 0, 0, 0, 0, 1 }

    • #48 written by Melvyn
      about 2 years ago

      Hey! Thanks for the matrices definitions.
      The smart modes indeed do smudge text when ClearType is enabled, because the red and blue subpixels used with this kind of anti-aliasing and supposed to be aligned with the actual physical pixels, are inverted with the rest of the screen. If you disable ClearType, you will notice the effect disappear. (But it might not be more readable without any anti-aliasing though…)

  • #49 written by Mickaël
    about 2 years ago

    I found another matrix which I find interesting if you just want less luminosity:

    { 0.5, 0.0, 0.0, 0.0, 0.0 }
    { 0.0, 0.4, 0.0, 0.0, 0.0 }
    { 0.0, 0.0, 0.3, 0.0, 0.0 }
    { 0.0, 0.0, 0.0, 1.0, 0.0 }
    { 0.0, 0.0, 0.0, 0.0, 1.0 }

    It’s slightly warmer than the previous one, and more readable.

  • #50 written by Don
    about 2 years ago

    Awesome program! Is there a way to invert colors on one monitor only on a multiple monitor setup?

  • #51 written by Mickaël
    about 2 years ago

    Hey, if you want, I made this little matrix which reduces luminosity without changing the colors 🙂

    { 0.4, 0.0, 0.0, 0.0, 0.0 }
    { 0.0, 0.4, 0.0, 0.0, 0.0 }
    { 0.0, 0.0, 0.4, 0.0, 0.0 }
    { 0.0, 0.0, 0.0, 1.0, 0.0 }
    { 0.0, 0.0, 0.0, 0.0, 1.0 }

  • #52 written by Agustav
    about 2 years ago

    Wonderful app , I love it !
    I use it to negative color in ppt presentation , it’s OK on all version before powerpoint 2016 .

    In powerpoint 2016 presentation mode , it not works , but when I back to edit mode , it’s all right.

    I don’t know why , can someone help ?

    huge thx 🙂

  • #53 written by Lean
    about 2 years ago

    Is there a way to exclude applications from Negative Screen? I appreciate that it doesn’t mess with 3D applications but I would still like the ability to disable certain applications from being affected.

    By the way, I love Negative Screen. It’s a real helper, thank you!

    • #54 written by Melvyn
      about 2 years ago

      There is currently no way to exclude a specific window from NegativeScreen. Sorry.

  • #55 written by Silviu
    about 2 years ago

    Thank you so much for this! There are some years since i try to find an user-eye’s friendly version of changing ALL that is displayed. Just saved me!

    One tiny request: I would like to go a little further and turn the display into sepia (NOT negative sepia, as you provided already). Because I’m quite code-dummy, I’d kindly ask you for provinding the code for “classic” sepia so that I just copy it into the txt file and than use it.

    Many many MANY thanks!

    • #56 written by Melvyn
      about 2 years ago

      Thanks for using NegativeScren.
      Here is the color matrix for sepia:
      { 0.393, 0.349, 0.272, 0.000, 0.000 }
      { 0.769, 0.686, 0.534, 0.000, 0.000 }
      { 0.189, 0.168, 0.131, 0.000, 0.000 }
      { 0.000, 0.000, 0.000, 1.000, 0.000 }
      { 0.000, 0.000, 0.000, 0.000, 1.000 }

  • #57 written by Kip
    about 2 years ago

    Permanently missing colors.

    I love this program. It’s really, really useful for me, and I wish I’d had it for years.

    Just one problem… in Chrome on Windows 7, it’s permanently turned my pages grey. They stay grey even when I reboot without loading NegativeScreen.

    I’ve tried deleting the cache, etc.

    The page loads in color, and then flicks to greyscale.


    • #58 written by Melvyn
      about 2 years ago

      Mmmh, what you are describing is very strange…
      I have no idea what could be the cause of this but I’d say that’s unlikely to be NegativeScreen, especially if it’s not running when it happens.
      Did you check for any unwanted extension in your browser, maybe?

      • #59 written by Kip
        about 2 years ago

        Wow… uh… thanks for your reply, and questions.

        I thought at first, “What an idiot, of course it’s caused by negativescreen – this just started when we got it.”

        Turns out, while trying to get the greyscale to work, we’d also installed, yes, an extension to chrome.


        Turned that off an color’s back… well, when I want it.

        Thanks so much.

        • #60 written by Melvyn
          about 2 years ago

          Haha, it happens even to the best of us 😉

  • #61 written by UnderSampled
    about 2 years ago

    I love NegativeScreen, and actually used it before it was patched to work on windows 7, and even made my own custom transformations at the time — inverted green and amber are a must for the nerdy desktop 😉

    I’m now using it because SolidWorks, though it allows a bit of color customization, does not allow changing the colors of the interface (toolbars, buttons, etc). For some reason the 3d view flickers to be normally rendered when I click on something in it (the rest stays inverted). Any idea why this might happen?


    • #62 written by UnderSampled
      about 2 years ago

      On review, it appears that it is in fact applying the effect a second time, rather than removing it. if I keep clicking, it will apply the effect over and over again until the view is fully saturated (or dimmed). It remains such on the screen until something else changes about the view (I.E. rotating the scene)

    • #63 written by Melvyn
      about 2 years ago

      Which version of NegativeScreen are you using? Flickering and refresh problems were common on versions 1.*
      Have you tried inverting the screen colors with the Windows magnifier? Does is work as expected, or do you experience similar problems?
      If this is the case, then it’s a bug in the magnifier API, and beside transferring it to Microsoft, I won’t be able to do anything…
      If it works properly with the magnifier, then it might be fixable. Honestly, this is very strange, and I have never seen this with any application, even games or other GPU accelerated programs.
      Good luck, and thanks for using NegativeScreen 🙂

      • #64 written by UnderSampled
        about 2 years ago

        Version 2.4

        Sadly, it seems to do the same thing for the regular magnifier, and keeps applying a zoom whenever I click (even when it’s in lens mode). Oh well. Should I try asking microsoft or the makers of SolidWorks?

        • #65 written by Melvyn
          about 2 years ago

          I doubt SolidWorks has anything to do with the bug, because it’s definitely one, but Microsoft might be interested to know, and actually do something about it…

          Are you on Windows 7? If you have the opportunity, you could try to test this on Windows 8 or even 10, it might have been fixed!

          While I think about it, have you tried updating your graphic drivers to the latest version? I’m not sure, but it might be related.

          • #66 written by UnderSampled
            about 2 years ago

            Well, I just got home and tried it on windows 10, and it had the same bug. Not sure where to go from that.

          • #67 written by UnderSampled
            about 2 years ago

            Oh, and I tried updating display drivers on the Windows 7 copy I was working on and there was no difference.

          • #68 written by Melvyn
            about 2 years ago

            Sorry about that :/

            Maybe you could open a thread somewhere around here explaining your problem with the Windows Magnifier on all Windows versions, and hope the right persons from Microsoft see it…

    • #69 written by Patrick
      about 2 years ago


      Could you share the amber and green customizations?

      • #70 written by UnderSampled
        about 2 years ago

        Sure! Green was a fairly simple modification from negative red:

        Negative Green=win+alt+F12
        { 0.0, -0.3, 0.0, 0.0, 0.0 }
        { 0.0, -0.6, 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, 1.0, 0.0, 0.0, 1.0 }

        Amber was a bit harder, I had to use the color matrix viewer, and I’m still not sure I like it. (it’s really just orange, half green full red from grayscale)

        Negative Amber=win+shift+alt+F12
        { -0.300, -0.225, 0.000, 0.000, 0.000 }
        { -0.600, -0.450, 0.000, 0.000, 0.000 }
        { -0.100, -0.075, 0.000, 0.000, 0.000 }
        { 0.000, 0.000, 0.000, 1.000, 0.000 }
        { 1.000, 0.750, 0.000, 0.000, 1.000 }

        • #71 written by Patrick
          about 2 years ago

          Wonderful! Thank you.

          Any idea how the Smart Inversion F2 option gets white text? I would like to have the negative green or amber only for all text versus having the entire background awash in green or amber.

          • #72 written by UnderSampled
            about 2 years ago

            There isn’t currently a way to modify only small parts on the screen, though I have played around with ways of doing that. If you just want to get rid of grays, you can try this version that has a higher gamma:

            Negative Green Sharp=win+alt+F11
            { -0.15, -1.50, -0.15, 0.00, 0.00 }
            { -0.15, -1.50, -0.15, 0.00, 0.00 }
            { -0.15, -1.50, -0.15, 0.00, 0.00 }
            { 0.00, 0.00, 0.00, 1.00, 0.00 }
            { 0.30, 3.00, 0.30, 0.00, 1.00 }

          • #73 written by UnderSampled
            about 2 years ago

            Not gamma, contrast.

          • #74 written by Sebastian
            about 1 year ago

            Can you share the blue customizations?

  • #75 written by bldawley
    about 2 years ago

    This is an awesome app. I can now actually see what i’m doing. Now if I only had this for my Windows Phone.

  • #76 written by habit.park
    about 2 years ago

    hi! I really really thank you for like this app!!!!!!
    really thanks!
    and i have a question!
    is it a free of charge? can i you this app in my office?

    • #77 written by Melvyn
      about 2 years ago

      Yes it is free, and you can use it however you please, as long as you respect the license.
      The program is distributed under the GNU General Public License, if you want to look for more information about it…

  • #78 written by Arrowcom
    about 2 years ago

    Thank you so so so SO much. You are a brilliant person and I appreciate it so much! I’m legally blind, going into university, and really needed something simple like this to work with. You are amazing!

    • #79 written by Yaurthek
      about 2 years ago

      Hey, thanks! Receiving messages like this is amazing! 🙂

  • #80 written by tony
    about 2 years ago

    All good! I’m having only one little problem, it seems like there is no way to remember last mode used, so that it will be activated automatically next time you open it.

    In other words, once you close the app, the last used mode will be lost and you will have to set it each time you open the app by pressing the shortcut for that mode. That to me is totally unnecessary and can be avoided very easily, but for some reason it just hasn’t been coded…

    …however, IS THERE ANY WAY TO DO THIS? like through the configuration file or something?? thanks!

    • #81 written by Yaurthek
      about 2 years ago

      Yes there is. Try to change InitialColorEffect=”Smart Inversion” in the configuration…

  • #82 written by Patrick
    about 2 years ago

    Is there a way to have all text inverted to a bright green color instead of white? I think green text on black background when inverted is easier to read.

  • #83 written by qualco
    about 2 years ago

    Could you do a “inversion” where the screen simply gets better readable, not a complete conversion but better and easier to read and no so tiring the eyes?

  • #84 written by Елисей
    about 2 years ago

    i need version for mac

  • #85 written by DontSueGoku
    about 2 years ago

    could you add the feature that only specific programs / the region of the screen where the program is if it is in foreground get color inverted? e.g. the new Skype 7 white/blue design is really annoying and you cant customize it anymore so it really hurts the eyes reading in the dark. Would also be the first program to be able to do smth like dis and I think it wouldnt be a waste since there are ALOOOT of ppl complaining about it .. just read this:

  • #86 written by Tori
    about 2 years ago

    Does it work on a lollipop andriod tablet well I’ve downloaded it and I don’t know what to do next?

    • #87 written by Yaurthek
      about 2 years ago

      No, sorry. This a Windows only application.

      • #88 written by Parker
        about 2 years ago

        Thank you for this awesome app.

        – Do you have any plans to release a OS X version? OS X has the built in Invert Color option but it’s simply Simple Inversion, nothing like Negative Red which I need to use a lot.

        – I’m running Windows 8.1 and using the Invert option in Magnifier, it does invert the color of the cursor. Could you please add this to the app to make it invert color of the mouse pointer too?

        – I’m not sure about the technical side of this, but is it possible to use color matrix to change color temperature, like Flux does?


        • #89 written by Yaurthek
          about 2 years ago

          – No plan for any version other than the Windows one, sorry. The main reason being that I don’t own a Mac and don’t intend to.

          – You are right, the Magnifier does invert the cursor. I don’t recall the details but I believe it’s doing additional work to handle this case (this is not just a switch). I remember trying to achieve the same thing, but I ruled it out for reasons I have forgotten. I might work on it again though…

          – I don’t know very much about the theory of color matrices, but in my understanding it should be possible to achieve something similar to F.lux, moreover if precise color temperature is not required (as when the goal is not photography, but reducing the eyes strain).
          This would mean adding a timer to automatically adjust the color transformation, and a lot of other settings though. I don’t think I will ever add this feature to NegativeScreen.

          Besides, if I’m not mistaken, F.lux does what it does by adjusting the system settings according to the time of the day. This is very efficient as the low level work is handled directly by the system, but it also severely constrains the range of allowed transformations.

  • #90 written by Herbert
    about 2 years ago

    will Negative Screen work with Windows 10?


  • #92 written by isu
    about 2 years ago

    lovely! simple amazing tool! 🙂

  • #93 written by Quentin
    about 2 years ago

    As a researcher, this is like the most cool stuff ever to avoid multiple tests when grayscale printing. AMAZING, thanks !

  • #94 written by HK
    about 2 years ago

    Is there a way for the app to invert everything except a selected program (like Chrome or iTunes?)

    • #95 written by Yaurthek
      about 2 years ago

      No there is not. Sorry.

    • #96 written by Luke Anderson
      about 2 years ago

      I have put together an AutoIT script which allows you to whitelist certain programs so that when they are in the foreground NegativeScreen is turned off.
      It is a hack and will work best when those apps are fullscreen because all it does it turn NegativeScreen on and of when the app comes into the foreground and then goes to the background.

      I will post the script this weekend I hope you will find it useful…

      • #97 written by Luke Anderson
        about 2 years ago

        NegativeSwitcher.au3 – If you already have AutoIt installed.
        NegativeSwitcher.exe – Standalone exe

        Program runs in the system tray. To Add the title of the currently active window into the Whitelist (So that it is excluded from the NegativeScreen effect) press Ctrl-Alt-Shift-N

      • #98 written by Luke Anderson
        about 2 years ago

        Download Links from Google Drive can be found by clicking the hyperlink in my name above. The window whitelist is stored in the AppData folder, called “NegativeScreen.cfg”.

        On flipping between Whitelist and non-whitelist window there will be a slight delay to flip NegativeScreen but this is partly because of the way it works. i.e. By monitoring the Window Title of the currently running window and flipping NegativeScreen as soon as it is found, however there will always be that Interim moment.

  • #99 written by Mary
    about 2 years ago

    I want this so bad

  • #100 written by Gagarou
    about 2 years ago

    Thanks! Really helpful. I miss this feature back when I still use ubuntu with compiz. The easy magnifying and invert feature are a bliss

    • #101 written by David Harkness
      about 1 year ago

      I use Ubuntu for development and find xcalib a passable alternative. It doesn’t have smart inversion so I always get tripped up when I see “All Tests Passed” in blazing red text (smart inversion keeps green text green). 🙁 But at least my eyes aren’t assaulted by bright colors all day.

      $ echo “xcalib -i -a” > invert
      $ chmod a+x invert

      Now assign a keystroke to execute the file in your window manager. Money!

      The xcalib program uses ICC (International Color Consortium) profiles instead of the simpler color matrices in Windows that NegativeScreen uses. Since its sole purpose is to calibrate monitors/cameras/printers/scanners/etc., I’d bet with some work you could make one. I can code, but I don’t know the first thing about ICC profiles. 🙁

      … time passes …

      So I spent the last hour doing a little research, and it is indeed not trivial. For one thing, I couldn’t find a pre-built graphical ICC profile editor for Linux. LPROF looks like the ticket, but I can’t devote a day getting it to build (lots of dependencies). I’ll have to come back to this later. I’ll see if I can convince someone that already builds profiles to make one for me. 😉

  • #102 written by Baggers
    about 2 years ago

    Holy crap! Thankyou so much this is a lifesaver

  • #103 written by Helder Magalhães
    about 2 years ago

    Just tried this neat software and, although it doesn’t seem to fit me (I don’t use Aero at all), I’d like to share a few findings:
    1. Crashes if Desktop Window Manager Session Manager (“UxSms” service) is not running
    1.1. different from not having Aero enabled – I’ve disabled it as it’s not necessary when Aero is not used;
    1.2. exception reads “An error occurred while applying a color effect.” […]

    Application: NegativeScreenX86.exe
    Framework Version: v4.0.30319
    Description: The process was terminated due to an unhandled exception.
    Exception Info: System.Exception
    at NegativeScreen.BuiltinMatrices.ChangeColorEffect(Single[,])
    at NegativeScreen.BuiltinMatrices.InterpolateColorEffect(Single[,], Single[,], Int32)
    at NegativeScreen.OverlayManager.ToggleColorEffect(Boolean)
    at NegativeScreen.OverlayManager.ControlLoop()
    at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
    at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
    at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
    at System.Threading.ThreadHelper.ThreadStart()

    (I’ve used “NegativeScreenX86.exe” version 2.4.5447.24427)
    2. After temporarily enabling Aero, I’ve noticed that the “Smart” variations make text look pretty fuzzy
    2.1. that likely has to do with ClearType enabled, and changing colors messes with the RGB trickery which causes LCD screen to look nicer
    2.2 not sure what could be done to improve this, but a warning in this page or in the application (detecting ClearType status and displaying a warning similar to Aero…?) might be a good idea in the meantime.
    3. Few nits:
    “Appart” –> “Apart” (typo, within this page)
    “Last” –> “Latest” (meaning – I hope!, within this page)
    “transfomation” –> “transformation” (typo, “README.txt”)

    • #104 written by Yaurthek
      about 2 years ago

      Hey, thanks a lot for your comment!
      Thanks for reporting the crash when UxSms is not running. I don’t think it will bother many people, but it’s a bug anyway…
      I already knew about ClearType, and I already tried different things to disable it automatically, but I think the improvement is not that important, and certainly not worth messing around with the user preferences like that, even temporarily. Beside that, more and more programs nowadays don’t even respect the ClearType settings and thus their text stay fuzzy… :/
      And thanks for the typos. Nobody ever reported them to me, so thanks again!

  • #105 written by Sanousy Howari
    about 2 years ago

    this is a great application, it removed eye strain for me using the gray-scale option, thanks a lot.

    I am using windows 8, it worked for dual monitors efficiently.

  • #106 written by Necrid
    about 3 years ago

    Is there a way to get this to ignore a certain window? Example “Gw2.exe” I see the API supports it in a fashion, but unsure if it would work they way your wonderful program is setup or how to implement it.

    • #107 written by Yaurthek
      about 3 years ago

      In theory, there is indeed a way to exclude some windows from NegativeScreen.
      Unfortunately, I never managed to get it to work…
      Anyone is welcome to try and improve NegativeScreen!

      • #108 written by Necrid
        about 3 years ago

        I’d love to give it a shot, I could pull your source, but I wouldn’t know what file to enter it into. According to the API info, the fullscreenmode does not take filterlists into account, only the boxed magnifier, and after peeking at your coding it appears you are using the fullscreen version.. This is why I was concerned it wouldn’t work, and probably why you were never able to get it to work. But thank you for your swift response and if you are not using fullscreen mode let me know and I can try to see if i can do something.

        • #109 written by Yaurthek
          about 3 years ago

          Oh sorry, I forgot the feature was not available for the full screen mode.

          The last version of NegativeScreen uses the full screen mode as it is way more efficient and easy to use, but the previous version (pre 2.0) used the “normal” API.

          The code for this version is available in a dedicated branch as I still maintain it when necessary.

          • #110 written by Necrid
            about 3 years ago

            Ya I tried clicking the link provided, but I haven’t the foggiest clue what i’d be doing other than poking around. I’m not really sure what I need to do to go from ‘Our Conversation Here’ > Inserting code somewhere > compiling a new package > runable.exe —- too sophistcated for me LOL. But I appreciate your responses and follow up. I will research and play with it a bit, ultimately I love your program as-is, and if you find fullscreenmode is more efficient, then I will trust you on that, I’d hate for things to become clunky. – Your program is so great I leave it running 99% of the time, and only turn it off when I game or watch videos. – Hence my inquiry about ignoring windows. – Would have been awesome, but I’d feel like I am “fingerpainting on the mona-lisa” if i get into your coding and start messing things about. – I may research it more once i figure out what I am suppose to do at that source site you gave. Not sure how it works.

          • #111 written by Necrid
            about 3 years ago

            By the way I did see some of the stuff for multiple monitors, that could also work, if i could disable a monitor on the fly. Its just too bad that there doesn’t appear to be a solution within that API that would allow us to do something as simple as coding a right-click on on the bar across the top of the window and choose Exclude from Negative Screen.

          • #112 written by Yaurthek
            about 3 years ago

            Unfortunately, the multiple monitors support is also impossible to implement with the latest API :/
            A possible solution would be to switch between the full screen mode and the legacy mode when required, but it’s a lot of work and it probably wouldn’t be perfect. I might work on it some day…

          • #113 written by safire
            about 2 years ago

            The ability to exclude or lock certain monitors or windows would make this applicaiton a lot better.

  • #114 written by Krishna
    about 3 years ago

    First install .net framework 4.
    Next run negativescreen.


    Thanks a lot to the developer.
    I think Microsoft should buy this application.

  • #115 written by Arty
    about 3 years ago

    I think here is a better color matrix description:

  • #116 written by Jack Straight
    about 3 years ago

    Looks great. I have no need for a fancy interface. What matters is that it does the basics well.

    The simple utility in Linux that inverts the colors for the active window or the whole GUI is good enough for me. Using that, then you can customize the program and system colors to your liking (especially in Windows). There is no need to make it fancy. Performance is more important.

    If I were worried about looks, I wouldn’t be using color inversion. I use it for the reason you wrote it in the first place, to make viewing easier.

    Thank you.

    • #117 written by Jack Straight
      about 3 years ago

      I had been using dark themes/schemes systemwide (for a decade). Using NegativeScreen and Chrome, there is an extension that will re-invert the colors of pictures and videos. So now I’m using Chrome instead of Firefox, mostly. Videos don’t want perfect, but it’s better than leaving pictures and videos inverted or frequently switching back-and-forth.

      After a month or so of serious use, this NegativeScreen is better then trying to use dark themes/schemes. The only time I must turn it off is when viewing pictures and videos outside of Chrome. The Windows Taskbar and its icons look funky, but maybe that’s because Windows 8.1 is using transparency for the Taskbar.

      Thanks again.

      • #118 written by Jack Straight
        about 2 years ago

        Does Reluminate still work for anyone in eBay? It’s a necessary add-on when using this screen inversion. Seems that recently Reluminate stopped working in eBay. Serious problem here. This screen inversion is by far the very best dark “color scheme” I have ever used. But it does require re-inverting pictures and videos.

        I can’t complain, but I will anyway… That should be the author’s next task. Since you really cannot use Windows inverted without re-inverting pictures and videos.


        • #119 written by Jack Straight
          about 2 years ago

          Seems that disabling JavaScript in Chrome on eBay is a work around, but it worked properly before even with JavaScript enabled. I suppose it could be my JavaScript controller add-on causing the problem.