在东晋时,北方则是十六国时期。十六国按时间来划分,在淝水之战以前有六国,依次为汉(匈奴),都平阳(山西临汾);前赵(匈奴),都长安(陕西西安);后赵(羯),都襄国(河北邢台)与邺(河北临漳);前燕(鲜卑),都城由龙城(辽宁朝阳),经蓟(北京),到邺;前凉(汉),都姑臧(甘肃武威);前秦(氏),都长安与陇东(甘肃平凉)。这6个先后建立的政权,最后为前秦所统一,但在淝水之战前秦失败后,北方又处于分裂状态。
在重新分裂的北方,出现的政权有10个。其中包括后燕(鲜卑),都中山(河北定县)与龙城;南燕(鲜卑),都滑台(河南滑县)、广固(山东益都);北燕(汉),都龙城;后秦(羌),都长安;夏(匈奴)都统万(陕西横山)。另外5个则在陇右与河西地区,其中包括后凉(氐),都姑臧;西秦(鲜卑),都苑川(甘肃榆中);北凉(匈奴),都张掖;南凉(鲜卑),都金城(甘肃皋兰)和廉川堡(青海乐都);西凉(汉),都敦煌。
在十六国以后是北魏的兴起,曾一度统一北方。北魏原都在平城(山西大同),后迁都洛阳。不久分裂为东魏(都邺)、西魏(都长安),而东、西魏又为北齐(都邺)、北周(都长安)所取代。
如果以十六国加北魏及以后的四国,北方从东晋到南北朝共历时272年,除短期统一外,基本上是分裂的。这21个政权的国都共28个。其中都长安5次、邺4次、龙城3次、姑臧2次,余下的14个皆为一次性国都,因此,作为都城的共18个。
这18个都城在空间上有几个特征。首先,大都位于当时北方的一条从西向东北方向的大道上。它从河西走廊向东,经长安、洛阳、邺,再向辽宁,在该线上的有敦煌、张掖、武威、金城、苑川、长安、洛阳,滑台、邺、襄国、中山、蓟、龙城。这条线上的长安、洛阳、邺是中心区。剩下的5个都城,平阳、统万、廉川堡、平城都分别是匈奴、鲜卑人集中的聚居区或相邻地区。只有广固一个是南燕被北魏赶出滑台以后,转到该处求得苟安之地。
其次,建都最多的是长安与邺。长安是前赵、前秦、后秦、西魏、北周首都,其中前秦曾一度统一北方,另外4个都是北方的西部半壁江山的政权。邺是后赵、前燕、东魏、北齐4个政权首都,亦都是北方东半壁的政权。只有占北方东半壁政权的后燕不在邺,而都中山。可是,中心地区的洛阳却因为恰在北方东西分裂政权的边界上,所以只有北方统一政权北魏把它作为首都,从区位上考虑,有利于控制其东西两翼的潜在分裂势力。
在时间上,首都的区位选择也是有规律的。首先,原先处在边缘地区、在其原聚居地建立的民族政权,不断向中心地区转移,以取得中原广大地区的有利区位。如前燕起于龙城,先到蓟,后到邺。前赵先建都于襄国,后到邺。北魏原建都平城,统一北方后,迁都于洛阳。只有夏建都于统万,在取得长安后,并未迁都。其次,在政权失败之后,不是向边缘地区转移,就是退回该民族的原发迹地区。如后燕在失去中山后,就退到龙城。而南燕、南凉则分别由金城和滑台转移到廉川堡和广固。
总之,这段时间被选为首都的各地区,都是以一定的人口数量、农业的经济基础以及与其腹地的交通联系为依据。北方的政权,多是以民族来划分其军事政治集团为基础建立国家的。由于其政治经验少、文化根基不足,往往分立的政权兴之也速,败之也速。而南方,则在原统一的政权基础上,加上汉族文化的基础及北方少数民族的外部压力形成统一政权。