A control program maintenance device according to an embodiment is equipped with a storage unit, a comparison unit, and a display processing unit. The storage unit stores a first program, which is a generated control program, and a product tree, which is program configuration information that associates the configurations of modules for each control device with the configurations of programs for each module so as to be expanded to the program step level. The comparison unit references the product tree and compares a newest first control program, which is registered as the comparison source, and second control programs, which are control programs uploaded from multiple control devices and used as the comparison destination. As a result of the comparison, the display processing unit displays on a display unit a match or a mismatch between the first control program and the second control programs and, when there is a mismatch, the display processing unit references the product tree, expands the configuration to the lowest level, and displays on the display unit the different locations in the control programs, within a comparison range.