ELI5: Why did we drop the bomb on Hiroshima and Nagasaki if the Japanese were already prepared to surrender?

At the Yalta Conference (which took place in February 1945), the Soviet Union said that they would declare war on Japan three months after the surrender of Germany. The Germans eventually surrendered on 8 May, 1945, which means the Soviets were due to enter the war on 8 August 1945. During the Yalta Conference, the Americans wanted the Soviet to help them defeat the Japanese because the war was far from over. However, by the end of July, the Japanese were on the verge of defeat, and peace talks were ongoing. The only thing stopping peace was that the Americans wanted unconditional surrender, while the Japanese wanted some conditions, such as keep the Emperor. Furthermore, the Americans grew distrustful of Stalin and the Soviets during the occupation of Germany and Europe. If the Soviet invaded Japan, the Americans feared that there would be more conflict in the occupation of Japan. In short, the Americans wanted the Japanese to surrender before the Soviets could get involved.

The Americans dropped the bomb on Hiroshima because they wanted to speed up the Japanese surrender. If you look at the timeframe, the Americans dropped the Hiroshima bomb (6 August) only two days before the Soviets deadline, and the Nagasaki bomb (9 August) a day after. In the end, the Americans gave in to the Japanese condition of keeping the Emperor because they didn't want to waste any more time. As a side note, had the Japanese surrendered before the Soviet invasion, the Soviets would not have invaded the northern half of Korea; there would have been no North/South Korea.

Some people also suggest that the Americans dropped the bombs as a demonstration to the Soviets. They wanted to show their future enemy the strength they had, and that they were not afraid to use it. Also, a lot of people would have supported the bombings as a form of revenge against the Japanese for starting the war in the first place.

/r/explainlikeimfive Thread