中国地名是中国的地名。由于汉语在大约几百年前才有了拼音字母表(相比之下,汉字已经使用了几千年),所以在汉语地名的命名上一直存在着很多困惑。由于汉字是一种逻辑书写系统,也就是说,汉字的书写主要是显示文字的意思,而不是其发音,所以它可以用来书写多种不同语言的文字。除此之外,汉语不是一种统一的语言,而是汉藏语系的一个完整的分支。中国的许多语言或方言是互不相通的,也就是说,说一种语言或方言的人无法听懂说另一种语言或方言的人的话,除非其中一个人已经懂得对方的语言或方言。例如,普通话和粤语都是汉语的方言,但它们之间的差异很大,除非至少有一个人同时懂得这两种语言,否则他们的说话者就不能理解对方。因此,在用罗马字母表写出名字时,知道该用哪种口语方言,是一个语音书写系统,而不是逻辑书写系统,是一个挑战。例如,虽然这个城市的名称在中文中写成北京,但在普通话中叫Běijīng,在广东话中叫Bak1 Ging1。
在中国大陆,大多数地名都是用汉语普通话书写的,这是中国的官方口语。尽管汉语普通话的发音在很长一段时间内都没有改变,但在汉语普通话中,使用罗马字母书写中国地名的方法有很多,或者说有很多不同的罗马化。这就给非汉语使用者造成了很多混乱和误导,不知道该如何称呼中国地名。例如,北京被拼成Peking,南京被称为Nanking,天津被拼成Tiantsin,青岛被拼成Tsingtao。这些众多的拼写系统给非汉语使用者造成了混乱,因此无论其他语言使用者把地名叫做什么名字,最后听起来都和汉语普通话大相径庭。为了教会人们如何向中国大陆人和非中国人正确发音,中国共产党将汉语拼音作为官方唯一接受的拼音,并禁止中国大陆官方使用的所有其他拼音。北京变成了北京,南京变成了南京,天 津变成了天津,青岛变成了青岛。虽然这些地名在普通话中的发音保持不变,但却让非中文系的人,尤其是英语系的人,能更准确地按照普通话的发音说出中国地名。
然而,在自治区,在中国某些少数民族占该地区人口很大一部分的地方,为了代表当地语言,许多地名从汉语改回当地语言。例如,新疆维吾尔自治区成立后,迪化市就被改回了维吾尔族当地语言的城市名称--乌鲁木齐。
在台湾,汉语也是官方语言,地名的拼写往往不一致。台湾城市的名称通常是以中国邮政的拼音来命名的。这就是为什么这些城市被拼写成台北、高雄和台中,而不是泰北、高雄和台中,这就是它们在汉语拼音中的拼写方式。之所以如此,是因为许多台湾人不喜欢使用汉语拼音(尽管汉语拼音是全世界汉语的标准拼音),因为它是由中国共产党创造的,许多台湾人不喜欢。虽然在台湾北部城市,大多数街道、地区和地铁站的名称都是用汉语拼音(因为汉语拼音在北部通常更容易被接受),但台湾南部的城市使用许多不同的拼写系统,只是为了抗拒使用汉语拼音。在一些情况下,完全相同的街道可以有几种不同的拼法。例如,板桥的新站路,有一段拼成"新站路",另一段拼成"新站路"。