Faits: A. Par décision du 20 septembre 2010, l'Office de l'assurance-invalidité du canton de Genève (l'office AI) a rejeté la demande de prestations que D._ avait présentée le 7 mai 2009. B. La prénommée a déféré cette décision au Tribunal cantonal des assurances sociales de la République et canton de Genève (aujourd'hui : Cour de justice, Chambre des assurances sociales). Par jugement du 10 mars 2011, la juridiction cantonale a déclaré le recours irrecevable pour cause de tardiveté. C. D._ interjette un recours en matière de droit public contre ce jugement dont elle demande l'annulation, en concluant au renvoi de la cause à la juridiction cantonale afin qu'elle se prononce sur son droit aux prestations de l'AI, voire sur un éventuel renvoi de la cause à l'office AI. Elle sollicite le bénéfice de l'assistance judiciaire limitée au versement de l'avance de frais. L'intimé conclut au rejet du recours. L'Office fédéral des assurances sociales a renoncé à se déterminer.