Romii recunosc diviziunile dintre ei bazate în mare parte pe diferențele teritoriale, culturale și dialectale.[59] Romii, pe lângă numele diferite care sunt atribuite acestora de către gajii, utilizează alte denumiri pentru a se descrie – după apartenența lor la grup. Grupurile nu ar trebui să fie confundate cu clanurile, acestea sunt subdiviziuni ale grupurilor, grupuri care pot varia de la câteva mii (cum ar fi romii lotfitka, romii letonieni) la mai mult de un milion.
Unele autorități recunosc cinci grupe principale pe baza răspândirii lor geografice:[59]
- căldărașii (cei mai numeroși, fierari din Balcani, mulți au migrat către Europa Centrală și America de Nord);
- gitanos (numiți și Cale, îi găsim în Peninsula Iberică, Africa de Nord și sudul Franței);
- manush (de asemenea cunoscuți ca sinti, trăiesc în special în Alsacia și alte regiuni din Franța și Germania);
- romnichal (trăiesc în principal în Marea Britanie și America de Nord);
- erlides (de asemenea cunoscuți ca yerlii – populație romă așezată în Europa de Sud, Europa de Est și Turcia).
Fiecare dintre aceste categorii principale pot fi împărțite în două sau mai multe subcategorii care se disting prin specializarea la locul de muncă sau prin teritoriul de origine, sau ambele. Unele dintre aceste categorii sunt: machvaya, lovari, churari, sinti, rudari, boyash, ludar, luri, xoraxai, ungaritza, bashaldé, ursari și romungro.
Potrivit altor teorii, există patru grupuri principale de romi pe baza dialectelor ce sunt vorbite de aceștia:[59]
- romii din Balcani, cu o influență a vocabularului turc;
- romii vlahi care au migrat până în România și al căror dialect este influențat de limba română;
- romii carpatici, cu o influență mai puternică din partea lexicului slav;
- romii nordici, cu o puternică influență germană.