This topic has come up before, and there is a guide for how to link modern sample city codes to published FIPS codes, but this generally includes only the largest cities.
However, with the historical 100-percent data, there are many more identifiable cities. In 1940, for example, there are more than 900 City codes including many small and mid-sized cities not included in any of the IPUMS mapping files that I could find.
Has anyone ever mapped all of the CITY codes to modern Census FIPS?
The IPUMS data team is currently working on re-releasing PLACENHG which will map 1940 city codes (in the 1940 full count data) to modern Census FIPS codes. Specifically, PLACENHG will combine a state FIPS code with a place FIPS to form a nationally unique ID. Cities in 1940 without a modern FIPS will receive a pseudo FIPS code instead. This variable will be part of a forthcoming release on IPUMS USA. Once it is available, the revision history will be updated to reflect this change. If you require the data urgently, you may email our user support team directly at ipums@umn.edu and I will share the preliminary crosswalk between PLACENHG and CITY codes.
While PLACENHG will only be available in the 1940 full count, it will be possible to use a data extract to create a crosswalk between PLACENHG and the harmonized variable CITY. Such a crosswalk can then be used to assign PLACENHG codes to cities in other samples as long as the corresponding CITY is identified in the 1940 data. For reference, a bit fewer than 5% of cities identified in 1950 do not have a 1940 code and a bit more than 5% of cities identified in 1930 do not have a corresponding 1940 code.