Faits: A. N._, né en 1967, a travaillé en qualité de carrossier. Dès l'âge de 18 ans, il a souffert de lombalgies et de blocages lombaires avec sciatalgies. En 1991, 1993 et 1994, il s'est blessé au dos. Par décision du 6 mars 1998, l'Office de l'assurance-invalidité du canton de Genève (l'office AI) l'a mis au bénéfice d'une rente entière d'invalidité à compter du 1er novembre 1994. Le droit à la rente a été maintenu à l'issue de deux procédures de révision (en 2001 et 2004). En 2009, à la suite d'une dénonciation, l'office AI a ouvert une nouvelle procédure de révision. Un inspecteur a constaté que l'assuré effectuait divers travaux chez X._ à P._ (les observations ont eu lieu les 11, 12 et 13 mai, 15 et 16 juin, 15 et 16 septembre, 1er et 2 octobre 2009). Entendu le 2 mars 2010, l'assuré a détaillé les tâches qu'il accomplissait chez X._ depuis l'année 2004 : visites automobiles, passages de voitures au tunnel, remise de documents au SAN, téléphones, petites retouches de peintures, livraisons de voitures, prises de rendez-vous, fermeture du garage. Il a indiqué qu'il était présent deux heures le matin, deux heures l'après-midi, parfois plus mais pas souvent, mais qu'il n'était pas rémunéré. Le 4 mars 2010, l'office AI a suspendu la rente avec effet immédiat. Par décision incidente du 1er juillet 2010, l'office AI a confirmé la suspension de la rente d'invalidité et retiré l'effet suspensif à un éventuel recours. Le Tribunal cantonal des assurances sociales de la République et canton de Genève a rejeté le recours dirigé contre cette décision incidente, par jugement du 14 octobre 2010. Le 1er juillet 2010, l'office AI a confié un mandat d'expertise au docteur B._, spécialiste en médecine interne et maladies rhumatismales. Informé, l'assuré n'a pas réagi. L'expert a déposé son rapport le 26 octobre 2010. Par décision du 28 février 2011, l'office AI a supprimé la rente avec effet rétroactif au 11 mai 2009. Le taux d'invalidité a été fixé à 15 %, résultant de la comparaison du revenu sans invalidité de 55'162 fr. que l'assuré aurait réalisé s'il avait poursuivi son ancienne activité de carrossier-tôlier sans CFC, avec un gain de 46'888 fr. dans une activité de vendeur de voitures respectant ses limitations fonctionnelles. B. N._ a déféré cette décision à la Cour de justice de la République et canton de Genève, Chambre des assurances sociales, en concluant à son annulation, à la confirmation de son droit à la rente ainsi qu'au versement rétroactif de cette prestation à compter du 4 mars 2010, avec intérêts. Il a requis l'audition de divers témoins et la mise en oeuvre d'une contre-expertise. La juridiction cantonale l'a débouté par jugement du 30 novembre 2012. C. N._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, avec suite de dépens. A titre principal, il conclut à ce que son droit à une rente entière d'invalidité soit reconnu et qu'il soit ordonné à l'intimé de lui verser rétroactivement cette prestation à compter du 4 mars 2010; subsidiairement, il conclut au renvoi de la cause à la juridiction cantonale pour expertise pluridisciplinaire. 