また明治新政府が、国民に名字を持つことを義務付け、その結果庶民はそれまでもともと通称としていた名字を正式に名乗り出した例の他に、新たな名字を名乗った例もあり、明治時代に一気に名字の数が増えた、という意見がある。一説によると、幕末期と明治期を比べると、一気に数倍に増えたという。
日本人の名字の由来は、様々な分類法があるが、次のように分類することもできる。
明治時代以前の名字.
公家の名字.
古代の氏族制度が律令制へ移行した後に、氏族格式そのものよりもその本人が属する家系や家格の方が重要になり、従来の氏の中でもその家を区別する必要が現れた。たとえば、同じ藤原氏でも藤原南家・藤原北家・藤原式家・藤原京家の藤原北家の中でも道長・頼通流とそれ以外といった様に同じ氏の中でも格の違いが現れている。
そのため、その家を現すためにその出身地を付けたのが名字の始まりと言われている。平安時代の貴族は母親の邸宅で育つため、その母方の邸宅のある地名などを名字につけた。貴族の初期の名字は一代限りのもので、号といい家名を現すものではなかったが、平安時代後期から妻取婚へと大きく変わり、父子別々だった称号が父から子へ孫へと代々受け継がれ、その家系を示す様になり家名となった（近衛家、九条家、西園寺家など）。この家名が武家社会以降の公家の名字となり、明治維新以降も受け継がれることとなる。
武士の名字.
鎌倉時代になると武士の所領が拡大し、大きな武家になると全国各地に複数の所領を持つようになった。鎌倉時代の武家は分割相続が多かったため、庶子が本家以外の所領を相続すれば、その相続した所領を名字として名乗るようになる。またさらなる土地の開墾によって居住域が増え、新たな開墾地の地名を名字とし、ますます武士が名乗る名字の数は増大していった。ただし、注意すべきは、名字は異なろうとも姓（本姓）は同じということである。