Sachverhalt: A. Der 1965 geborene I._ meldete sich am 21. Oktober 2002 bei der Invalidenversicherung zum Leistungsbezug an. Mit Verfügungen vom 30. Juni 2006 sprach ihm die IV-Stelle des Kantons Zürich vom 1. Oktober 2002 bis 31. Mai 2005 eine ganze und ab 1. Juni 2005 eine Dreiviertelsrente zu. Anfang 2010 leitete die Verwaltung von Amtes wegen ein Revisionsverfahren ein, wobei sie neu einen Invaliditätsgrad von 26 % ermittelte. Nach Durchführung des Vorbescheidverfahrens hob sie die Rente mit Verfügung vom 6. Februar 2012 auf Ende Monat auf. B. Die dagegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 12. März 2013 ab. C. I._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, unter Aufhebung des kantonalen Entscheides und der IV-Verfügung vom 6. Februar 2012 sei ihm die Invalidenrente weiter auszurichten, eventualiter sei die Sache an die Vorinstanz zur Einholung eines Gerichtsgutachtens zurückzuweisen. Sodann lässt er um Gewährung der unentgeltlichen Rechtspflege ersuchen. Die IV-Stelle und das Bundesamt für Sozialversicherungen verzichten auf eine Stellungnahme.