An 18-month-old Perth boy has died after a horse picked him up with its teeth and threw him several meters.

The toddler and his mother were in a paddock on their property in Oakford, south of Perth, when the accident happened on Monday afternoon.

Police say the horse picked the boy up by the neck with its teeth and threw him into the air several meters.

The boy was in a critical condition and died in Princess Margaret Hospital this morning.