上海户籍身份證開頭不是99,是31,99身份證號碼開頭的不一定是外地户口。我國公民身份證號碼是由公民出生地區的公安機關根據居民身份證號碼的規定規律編制的,終身不變,就是公民户籍遷移,身份證號碼不會更換,如果公民原來不是上海户籍,那麼他的身份證號碼開頭肯定不是31,可能是99,後來户籍遷移落户至上海,他的身份證號碼還是原號碼。