The hurricane was located at 80 kilometres south-west of Escuinapa.

Hurricane Willa on Tuesday gathered speed on its way to Mexico's Pacific coast, travelling at 17 kilometres per hour, the country's National Meteorological Service (SMN) said.

The hurricane was located at 80 kilometres south-west of Escuinapa in Sinaloa state, with sustained winds blowing at 195 kilometres per hour.

The Category 3 storm was expected to make landfall between the states of Sinaloa and Nayarit in the evening.

An advisory from the US Bureau of Diplomatic Security said Willa could "produce hurricane-force wind conditions, a dangerous storm surge, life threatening waves and rip currents" as well as rain leading to flash flooding and landslides.

The hurricane had already sparked heavy rain in the states of Jalisco, Colima and Nayarit and is expected to cause rainstorms in 13 of the country's 32 states.

Emergency and evacuation plans have been launched in Nayarit, Jalisco and Sinaloa, which will be the most affected.

The daily El Universal reported that two cruise ships had been prevented from docking in the resort town of Mazatlan.

"While gradual weakening is forecast today, Willa is expected to be a dangerous major hurricane when it reaches the coast of Mexico," said the US National Hurricane Center (NHC).

It forecast "rapid weakening... after landfall... and continuing into Wednesday."