Faits: A. A.a La société de promotion immobilière X._ SA a annoncé sur son site internet la construction à ... (VD) de 10 villas faisant chacune une superficie de 219 m2 sur deux niveaux avec mezzanines, dont 19 m2 pour la chambre à coucher principale, plus un sous-sol de 90 m2. Elle a chargé la régie immobilière A._ SA (ci-après: la régie) de rechercher des acquéreurs. Cette dernière a fait des annonces publicitaires indiquant une surface de 219 m2 par villa. En 2006, les époux H.Y._ et F.Y._, qui souhaitaient agrandir leur famille, se sont intéressés au projet. Ils ont contacté la régie et ont été séduits par la surface proposée. Le 6 mars 2007, ils ont acquis une part PPE avant construction au prix de 391'000 fr. Simultanément, ils ont conclu avec X._ SA un contrat d'entreprise portant sur la "réalisation d'une maison mitoyenne, sous-sol, rez-de-chaussée, 1er étage, mezzanines, d'une superficie d'env. 219,70 m2 + sous-sol d'env. 90,25 m2, y compris abri". Le prix de l'ouvrage était fixé forfaitairement à 819'500 fr. La livraison devait avoir lieu au plus tard le 31 juillet 2008. Une pénalité de 100 fr. par jour de retard était due, sauf en cas de force majeure telle que mauvais temps ou autre cause indépendante de la volonté de l'entrepreneur. Le for était prorogé à Genève. La norme SIA 118 (1977/1991) était intégrée au contrat, qui renvoyait par ailleurs aux plans d'autorisation de construire. Selon ces documents peu détaillés, dessinés à l'échelle 1:100, chaque villa devait avoir une emprise au sol de 90,25 m2. La surface totale brute des deux niveaux (rez-de-chaussée et premier étage) était donc de 180,5 m2 (2 x 90,25), à laquelle s'ajoutaient deux mezzanines de respectivement 16 m2 et 18,8 m2. Pour les différentes pièces, les plans indiquaient des surfaces nettes, c'est-à-dire à l'intérieur des murs de chaque pièce. La plus grande chambre à coucher faisait 16,4 m2. L'addition des surfaces nettes aboutissait à un chiffre bien inférieur à 219,7 m2. Selon l'architecte en charge du projet, il était indiqué des surfaces nettes par conformité à l'usage, "de manière à ce que la commune puisse les lire clairement". Ces plans d'autorisation de construire n'étaient pas annexés au contrat, mais simplement "mis à la disposition" des maîtres de l'ouvrage. En revanche, au moment de la signature du contrat, l'entrepreneur leur a remis d'autres plans, qui ont été signés par les maîtres et datés du même jour que le contrat de construction. Egalement dessinés à l'échelle de 1:100, ces plans étaient quasi identiques à ceux de la mise à l'enquête, sous réserve des éléments suivants: d'une part, les surfaces nettes avaient été remplacées par des surfaces brutes plus importantes, sans précision du caractère brut des chiffres exprimés; ainsi, la plus grande chambre à coucher avait une surface de 19,3 m2. D'autre part, les cotes n'étaient pas indiquées. Même pour les pièces entourées de murs de tous les côtés, il n'était donc pas possible de vérifier les surfaces indiquées par multiplication des cotes. L'addition de toutes les surfaces indiquées au premier étage aboutissait à un total de 90,3 m2. Le 26 septembre 2007, un sous-traitant de l'entrepreneur a soumis les plans d'exécution de la villa à H.Y._, qui les a signés sans faire de remarques. Plus détaillés que les précédents, ces plans étaient dessinés à l'échelle 1:50. Une modification avait été apportée au premier étage, en ce sens que deux pièces étaient désormais réunies en une seule plus spacieuse. Pour le surplus, les surfaces des autres pièces et espaces du premier étage étaient les mêmes que celles indiquées dans les plans remis lors de la signature du contrat, surfaces qui intégraient à nouveau implicitement les murs intérieurs et extérieurs de la villa. A.b Par courrier du 20 décembre 2007, le maître a indiqué à l'entrepreneur que les mesures qu'il avait effectuées sur le chantier ne correspondaient pas aux surfaces prévues par le contrat. A titre d'exemple, la plus grande chambre à coucher ne faisait que 16,85 m2. Le 17 janvier 2008, les maîtres, l'entrepreneur et la régie ont tenu une réunion chez un notaire. Ils ont constaté que les surfaces indiquées dans le descriptif de vente et de construction ne correspondaient ni à des surfaces nettes, ni à des surfaces habitables. Les participants ont par ailleurs "admis (...) que les indications commerciales et contractuelles pouvaient donner lieu à croire qu'il s'agissait des surfaces habitables réelles", selon les termes du procès-verbal établi par le notaire. Il a été convenu que les maîtres tenteraient de revendre la villa en construction à un tiers jusqu'au 30 septembre 2008; à défaut, elle serait rachetée par l'administrateur et le directeur de X._ SA. Les maîtres s'engageaient à continuer la construction conformément au contrat d'entreprise. Le 3 octobre 2008, les maîtres ont informé l'entrepreneur qu'ils renonçaient à revendre la villa faute d'avoir trouvé un logement alternatif. Les clés leur ont été remises le 12 décembre 2008. Les maîtres ont refusé de payer le solde dû, qui s'élevait à 49'825 fr. L'entrepreneur a obtenu l'inscription provisoire d'une hypothèque légale à concurrence de ce montant. Le 1er avril 2009, les maîtres ont fait notifier à l'entrepreneur un commandement de payer chiffré à 307'513 fr., qui a été frappé d'opposition. Le 4 mai 2009, une expertise judiciaire hors procès a été mise en ?uvre. L'expert a rendu son rapport le 4 septembre 2009. Il a constaté en moyenne une différence de 18% entre les surfaces réelles des pièces (chambres à coucher, salles de bains, salon et salle à manger) et celles indiquées pour les mêmes pièces sur les plans remis à la signature du contrat. En revanche, il n'y avait qu'une très petite différence entre les surfaces nettes réelles (106,92 m2) et les surfaces nettes prévues sur les plans d'autorisation de construire (110,4 m2). La manière de procéder dans les plans annexés au contrat et les plans d'exécution n'était pas conforme à la pratique usuelle en Suisse romande, voire dans l'ensemble de la Suisse. Les cotes figurant sur les plans d'architecte étaient en effet toujours exprimées en chiffres nets, et non pas bruts. Le mode retenu pour calculer les surfaces sur les plans d'exécution et les plans annexés au contrat était erroné, totalement arbitraire et propice à la confusion. Un constructeur expérimenté ne pouvait ignorer que l'indication des surfaces brutes trompait la bonne foi de l'acquéreur. B. B.a Le 4 juin 2009, l'entrepreneur a saisi le Tribunal de première instance du canton de Genève d'une demande tendant au paiement de 49'825 fr., à l'inscription définitive d'une hypothèque légale de même montant, au remboursement des frais liés à cette inscription et au paiement de dépens pour la procédure provisionnelle, incluant le remboursement des frais liés à l'inscription provisoire. Les maîtres ont conclu au rejet de l'action et, à titre reconventionnel, au paiement de 135'537 fr. 80 ainsi qu'à la mainlevée définitive de l'opposition au commandement de payer à concurrence de ce montant. Par jugement du 10 mars 2011, le tribunal a rejeté l'action principale et partiellement admis l'action reconventionnelle, en ce sens que l'entrepreneur était condamné à payer aux maîtres la somme de 59'310 fr. 80, l'opposition au commandement de payer étant définitivement levée à concurrence de ce montant. B.b L'entrepreneur a déféré cette décision à la Cour de justice genevoise, réitérant les conclusions prises en première instance. Les maîtres ont conclu au rejet de l'appel principal et, à titre reconventionnel, au paiement de 78'705 fr. 55, la mainlevée définitive devant être prononcée à hauteur de cette somme. Par arrêt du 9 décembre 2011, la Cour de justice a rejeté l'appel principal et partiellement admis l'appel incident. En conséquence, elle a réformé le jugement en ce sens que l'entrepreneur est condamné à payer aux maîtres 67'585 fr. 80, la mainlevée de l'opposition étant prononcée à due concurrence. En bref, la Cour de justice a constaté l'absence d'une volonté réelle concordante s'agissant de la surface à construire. Selon le principe de la confiance, les maîtres pouvaient de bonne foi comprendre que la surface globale de 219,70 m2 annoncée de façon constante par l'entrepreneur et celles indiquées pour les différentes pièces dans les plans remis lors de la signature du contrat représentaient des valeurs nettes n'incluant pas les murs intérieurs et extérieurs de la villa. L'entrepreneur avait ainsi promis contractuellement une surface nette totale de 309,95 m2 (219,70 + 90,25); or, la surface nette de l'ouvrage réalisé n'était que de 273,15 m2. L'ouvrage était entaché d'un défaut et les maîtres avaient droit à une réduction correspondante du prix convenu. Le prix réduit s'élevait à 722'202 fr. (819'500 fr. x 273,15 : 309,95). Les maîtres ayant déjà versé la somme de 769'675 fr., ils avaient droit au remboursement de 47'473 fr. L'entrepreneur devait en outre les indemniser pour leurs frais d'expertise judiciaire avant procès, s'élevant à 6'712 fr. 80. Enfin, s'agissant des 134 jours de retard dans la livraison de l'ouvrage, l'entrepreneur n'avait pas pu établir les intempéries alléguées, pas plus qu'un choix tardif des maîtres quant aux carrelages et autres finitions. En conséquence, il devait payer une pénalité de 13'400 fr. C. Par-devant le Tribunal fédéral, l'entrepreneur (ci-après: la recourante) interjette un recours en matière civile renouvelant les conclusions prises en première instance et en appel. Les intimés concluent au rejet du recours dans la mesure où il est recevable. L'autorité précédente se réfère à son arrêt. Par ordonnance du 23 février 2012, la Présidente de la Cour de céans a accordé l'effet suspensif au recours.