Прави дебюта си в националния отбор на Бразилия на 15 юли 2001 в мач от Копа Америка срещу . През 2002 г. е в разширения състав на „кариоките“ за Световното първенство, но в последния момент отпада от първенството. Има две спечелени титли от турнира за Купата на конфедерациите за 2005 и 2009 г. Жуан участва на световното първенство в Германия 2006 на което взима участие във всичките пет срещи до 1/4 финалите, където „селесао“ отпадат от бъдещия финалист . През 2007 г. на Копа Америка Жуан наследява капитанската лента от Жилберто Силва. На финала на този турнир „селесао“ побеждават с класическото 3:0. Неизменен титуляр и на Световното първенство в ЮАР 2010 на което отбелязва първия гол от 1/8 финалите срещу .