The launch is the second to fly over Japan in less than a month, and the first since North Korea's sixth nuclear test and new United Nations sanctions on the country.
Friday's missile test follows the release of a statement Wednesday, in which the North Korean state news agency KCNA threatened the "four islands of the (Japanese) archipelago should be sunken into the sea by the nuclear bomb of Juche," referring to the ruling ideology of North Korea.
Speaking to reporters Friday, Japanese Prime Minister Shinzo Abe said the launch was "totally unacceptable" and went against "the international community's strong, united will for a peaceful solution."
North Korea's latest missile was fired from the district of Sunan in the North Korean capital of Pyongyang, home to the country's main airport, the South Korean military said.
The missile flew about 3,700 kilometers (2,300 miles) and reached an altitude of 770 kilometers (480) miles before landing in the Pacific Ocean.
Initial U.S. assessments suggested North Korea had fired an intermediate-range ballistic missile, similar to that fired over Japan last month.
In response to North Korea's launch, South Korea carried out a "live fire drill" that included a missile launch which the South Korean Joint Chiefs of Staff said was capable of striking the Sunan airport launch site near Pyongyang used for today's launch.
The South Korean missile, which was launched from the country's east coast while the North Korean missile was still in the air, was "a show of force in response to North Korea's latest provocation," a South Korean official told CNN.
A second missile that was fired at the same time failed and "sank into the sea off the east coast," an official said.
Park Soo-hyun, spokesman for South Korean President Moon Jae-in, said the country's military had been ordered "to prepare a stern measure that can effectively counter North Korea's increasing nuclear and military threats."