When all three of my freediving masks fogged on my trip to the St. Lawrence River a couple of weeks ago, I bought J&J's baby shampoo because of the recent mask defog thread, and it worked like a charm. I had a Beuchat, Mares, and Cressi from ancient history all fog on my first scuba dive. The freediving masks have split windows, unlike my Halcyon and ScubaPro masks. I taped over the right windows due to the eye issue.Take a look at the mask page from Dive Gear Express: Masks - Standard
Note the following instructions:
Don't use toothpaste as an abrasive cleaner on modern dive masks, especially those masks that have optical quality ultra-clear glass lenses, vision correction lenses or 'optical coatings' on the lenses. You will either damage the lenses, or needlessly waste toothpaste since most modern toothpaste formulations are not at all abrasive. The same goes for using a lighter to 'burn' the lens to prepare a new mask. Dive Gear Express will not warranty masks that have been treated with abrasives or burned with lighters.Most new dive masks do have mold release agents in the flexible skirt that during storage will migrate to the surface of the lens and cause fogging. These deposits can be safely removed with an extra application of a powerful surfactant like liquid dish soap, baby shampoo, SeaQuick or SeaDrops defog.
I purchased a TUSA mask a few years ago, and I barely did anything to it before using it. It has never fogged.
I decided to go with the brand name baby shampoo just in case it was "the good stuff." Zero issues after that. As you can imagine in 40 years, I've probably used every defog product out there from fire, to spit, to scrub, to all the gimmicks just based on what sample was handed to me and was at the ready. I've used shampoo and dishwashing detergent as well. But, I've got to say that I may now just stick with the J&J baby shampoo.