Factual error: After the Americans have stormed the German sub, they find the Germans tried to destroy the Enigma code books by throwing them into the bilge water, which is just below the deckplates in the torpedo room. However, there was actually a lot of room for machinery and reserve torpedoes under the deckplates, which means that the torpedo room would have to be flooded by more than 3 feet deep to even reach the deckplates. This means the whole torpedo room would have been flooded with at least 6.000 gallons of water, rendering the boat likely completely unstable, unfit to dive and overflooding the batteries in the room next to it, which released poisonous chlorine gas when in contact with sea water. Not to mention that this much water could only have been caused by a major leak, but neither Germans or Americans seem to be particularly concerned by any leaks or by the amount of water in the boat.
Factual error: It takes a whole of two minutes from the discovery of the boarding party and the cry "Alarm" till the first Americans even enter the command central of U-571, and another almost 90 seconds till they secure the radio room. German subs were under strict orders to destroy all secret material the instant they had reason to believe a boarding was probable. To that end, all code books were printed in water-soluble inks on water-soluble paper, and even the electrical connections inside the rotors of the enigma machine were seawater-soluble. (Admittedly the latter was more with the idea of enemies salvaging sunk boats in mind, and I have no information on how fast that decay would have happened) All it would have taken is to lift up one of the floor plates and drop the stuff into the bilge below. And yes, since German subs of the era didn't have answering machines, the radio room would be manned around the clock. For that reason, boarding actions of that sort had to be above all lightning-fast. Dramatic as the fight scene is, in reality it would have ensured that the boarding party came away empty-handed. (00:38:30 - 00:41:45)
Factual error: Submariners are trained to always listen to the sounds of the boat, since anything out of the ordinary could mean death. Given that training, the small size of a German U-boat and the less-than-skeleton crew aboard it is not possible that the sounds of the fight in the forward torpedo room, or the sounds of the German commander operating the chain on the torpedo loading rail would have gone unnoticed or uninvestigated for so long.
Factual error: At the beginning of the film the diesel fuel in the German U-boat is shown being ignited by a spark and bursting into flames during the depth charge attack as if it were gasoline. In reality diesel fuel is quite hard to ignite when not compressed and does not burn quite so readily as shown in the film. (00:06:05)
Factual error: The movie used 3 "dive" commands and 3 blasts of the klaxon to dive. This is incorrect. The command to dive is repeated twice and the diving klaxon is sounded twice. Command to surface is 3 and 3.
Factual error: When the German "destroyer" is attacking, it drops a steady stream of depth charges. I reality, depth charge attacks were made by locating the sub on sonar and dropping a pattern of five or ten charges at a time when the escort ship was above the target. These were set for the estimated depth and would have gone off at roughly the same time.
Factual error: Several times the movie shows two torpedoes side by side, fired off simultaneously. This was not possible in German U-Boats, a simple timer prevented this and delayed firing the second or more torpedo by a few seconds. Torpedoes in WWII were prone to premature detonation and without this mechanism, one premature detonation could ignite a whole salvo, a significant risk of killing the sub that fired them.
Factual error: When Rabbit first checks the German sub's torpedo tubes, we catch a glimpse of the torpedo loaded in the tube, its propulsion screws visible. It is loaded incorrectly and missing the piston-type device put in behind the torpedo which pushes the torpedo out via compressed air. This torpedo wouldn't go anywhere when fired. (00:53:12)
Factual error: The American crew tries to fool the German destroyer by launching a corpse and debris through the torpedo tubes. However, at more than 150 meters depth this would have been pretty much suicide. The outer torpedo doors of a Type VII sub were not designed to be opened in depths exceeding 20 meters. At 150 meters, the crew probably would have been unable to open them in the first place, but even if they did the brutal water pressure would have likely severely destroyed the outer and inner torpedo doors and caused the submarine to be flooded and crushed in seconds.
Factual error: At the beginning of the movie, the German commander wants to send an emergency message with coordinates to the BdU, the German Submarine Command, to send help. The scene is subtitled in English with "To Berlin: Location 85-32." However, the command post at the time was based in Lorient, France and not in Berlin. (00:08:05)