In France, it is usually possible to tell from which region someone's family (or at least ancestors) comes originally, just by the type of family name.
For instance, names ending in -ac (e.g. Chirac) are from the South-West (and a few from Brittany).

Many regions have typical names, but it isn't easy to give rules to recognise them. Some are more obvious : German names are from Alsace or Lorraine, and Spanish names are from the Spanish border. Typical names from Normandy include Langlois and Duval, but most are similar to those of Picardie, Nord-Pas-de-Calais and French-speaking Belgium.

Northern French names

French names common in the Nord-Pas-de-Calais are also common in Wallonia. For instance, to cite some of the most widespread in the Nord-Pas-de-Calais : Lefebvre, Carpentier, Fournier, Mercier, Carlier, Dufour, Dupuis, Dupont, Dubois, Dumont, Marechal, Leroy, Lecomte, Lebrun, Leblanc, Richard, Allard...

Historically the Nord-Pas-de-Calais (and Picardie) was part of the Low Countries. The region of Lille belonged to the County of Flanders (along with Bruges, Ghent, and other Belgian cities), while Valenciennes belonged to the County of Hainaut (along with the Belgian cities of Tournai and Mons). All of them became Burgundian, then part of the Spanish Netherlands. The Lille region was not part of France until 1668, which explains that the family names, dialects, traditional crafts and architecture are basically the same as in Belgium.

Breton names

Brittany is the heir of the Celtic culture and has quite different names from the mainstream :

Abalain, Abguillerm, Abgrall, Arbez, Audigou, Badoual, Barzic, Begoc, Berthou, Bodiou, Bothorel, Botrel, Broudic, Cadiou, Caillibotte, Callac, Calvez, Carro, Cloarec, Coic, Connan, Cornec, Cuillerier, Danielou, Derrien, Dincuff, Dosser, Dreano, Dubee, Eouzan, Flageul, Garandel, Garel, Gautho, Gouedard, Gouez, Gouyet, Guegan, Guernion, Guguen, Guillerm, Guillermo, Guillou, Guiziou, Guyomard, Guyony, Hamon, Haouisee, Hascoet, Hascouet, Hercouet, Herve, Kerambrun, Kerautret, Kerbellec, Kerbrat, Kerbriant, Kerdaniel, Kerderrien, Kerdoncuff, Kerfriden, Kergoat, Kerhervé, Kerjean, Kerleau, Kerleroux, Kermabon, Kermarrec, Kernivinen, Kerprigent, Kerrien, Kéruzoré, Kervella. Kerverdo, Kervinio, Kervran, Jaffrelot, Jaffrezic, Jaouen, Jestin, Jullou, Lagadic, Larvor, Le Bail, Le Bars, Le Berre, Le Bigot, Le Bihan, Le Borgne, Le Boudec, Le Bouffo, Le Bourhis, Le Bras, Le Bris, Le Bivic, Le Calvez, Le Cam, Le Carvennec, Le Coadic, Le Coadou, Le Coq, Le Corre, Le Coz, Le Denmat, Le Diouron, Le Douget, Le Droumaguet, Le Du, Le Duff, Le Faucheur, Le Fevre, Le Floch, Le Foll, Le Fur, Le Gall, Le Garsmeur, Le Gleau, Le Guen, Le Guillou, Le Goaziou, Le Goff, Le Gonidec, Le Goux, Le Guennec, Le Guevel, Le Guyader, Le Hegarat, Le Ho, Le Lann, Le Lay, Le Luyer, Le Manchec, Le Maux, Le Mee, Le Mehaute, Le Menn, Le Metayer, Le Meur, Le Mézec, Le Moal, Le Moigne, Le Mouel, Le Nouvel, Le Pennec, Le Penven, Le Perff, Le Quellec, Le Quéré, Le Roux, Le Saux, Le Sciellou, Le Soudeer, Le Texier, Le Trocquer, Lety, Le Verger, Libouban, Madec, Mahe, Mandroux, Marec, Mauvieux, Maze, Menguy, Meheust, Mevel, Moal, Moisan, Mordelet, Morvan, Morvand, Nedelec, Ollivier, Ollo, Pasquiou, Pezron, Plouzennec, Queffelec, Queinnec, Quelfeter, Quemener, Quemere, Quenouault, Quere, Quinquis, Quintin, Rault, Raoult, Riou, Robic, Rocaboy, Rogard, Rolland, Ropars, Rouault, Rouillier, Ruellan, Saliou, Serandour, Soizic, Talbourdet, Tanguy, Tardivel, Tilly, Thoraval, Touboulic, Toullec, Troadec, Uguen, Ulliac, Vidament, Visdeloup, Yvenou...

The trend for Breton names would be a name :

- starting with "ab", which comes from old Breton "mab" ("son of", compare with "mac" in Scottish Gaelic)
- starting with "Ker-", which indicates the enclosed place name, such as a village.
- starting with "Qu-"
- starting with "Le" (with a space), indicating a physical description (e.g. "Le Roux" means "the red-haired"), a job description (e.g. "Le Goff" means "the blacksmith", "Le Calvez" means "the carpenter", "Le Quéré" means "the cobbler", "Le Mézec" means "the doctor", "Le Sciellou" means "the notary"), or a place name (e.g. Coat, Couet, Coadic, Couédic, Coadou ou Coadigou, all mean "wood")
- ending with "-ec/ic/ac", "-el/al" or "-en"
- given name + "ou"
- including "guy" or "gui" in it, from the most popular Breton given name.

That doesn't always work though. The more unusual and "un-French" it sounds, the higher the chance it is Breton.