I tend to use PhotoRec on Linux. Apparenlty it works on Windows and Macs too. It doesn't look that friendly at first, but is actually very straightforward to use. Make sure you are recovering onto another disk with enough space, or you're gonna have a bad time
http://www.cgsecurity.org/wiki/PhotoRec