Factual error: In reality, the planned boarding of the disabled sub would have been doomed to fail once the American and German subs met. Whenever German U-boats or ships met at sea, they were required to exchange a secret signal, usually consisting of a challenge-and-response using differently colored signal pistols. These signals changed daily and the Americans had no way of knowing this information.
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)
Continuity mistake: At the very beginning U571 is being depth charged and forced to surface but the attacking destroyer has disappeared. (00:08:20)
Continuity mistake: When the German in the bunk goes to shoot Matthew McConaughey, the man fires but the bullet doesn't hit the wall, only about 2 feet away, for a much longer time than it would have really taken. Also, when the American soldiers pass by the spot a few minutes later where the bullet hit (when they are looking at the dead German's ring) the bullet hole has suddenly disappeared. (00:43:40)
Continuity mistake: When the U-571 goes to 200m, it springs a bunch of leaks and everybody gets soaked. Then, there is a shot looking past Tank's left shoulder at Tyler and the chief talking. In this shot, Tank's shoulder is completely dry. The camera angle changes and then changes back, and in the next shot at this same angle Tank's coat is now dripping with water. (01:35:50)
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.
Plot hole: In the movie the German sub is in the middle of the Atlantic about 1500 miles from the American coast the American submarine is an S-Class boat which had a top speed on the surface of 12 Knots even less underwater and it spent part of the trip submerged. This means that it would have taken them at least 5 or 6 days to reach the German Sub. This is 1942 There would have been dozens of other German subs a lot closer who could have come to their rescue.
Continuity mistake: When Mazzola dies, his eyes are initially open. The German captain pushes him away, and just before Mazzola's face goes out of camera he closes his eyes. In the next shot of him lying on his back on the floor, his eyes are open again.
Revealing mistake: When the German destroyer is hit by the torpedo at the end of the film it is seen to stop dead in the water upon the torpedo impact. In reality momentum would have carried the ship forward some distance after the explosion. A thousand or so tons of steel just does not stop on a dime unless it hits something like a mountainside.
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.