There have been as many as 99 subspecies described (most of which are synonyms of O. p. poseidon), with many more named variants and forms described for both sexes.
Some list as few as six subspecies (including nominate), but a taxonomic review is needed and most recognise more:
O. p. admiralitatis – Admiralty Islands and nearby smaller islands, Papua New Guinea
O. p. albiro – Tayandu Islands, Indonesia (may be junior synonym of O. p. hecuba)
O. p. arruana – Aru Islands, Indonesia
O. p. aureus – Arfak Mountains of West Papua, Indonesia (may be junior synonym of O. p. poseidon)
O. p. boisduvali – Woodlark Island, Papua New Guinea
O. p. bornemanni – New Britain and nearby smaller islands, Papua New Guinea
O. p. caelestis – Louisiade Archipelago, Papua New Guinea
O. p. demophanes – D'Entrecasteaux and Trobriand Islands, Papua New Guinea
O. p. garainaensis – vicinity of Garaina, Papua New Guinea? (
may be junior synonym of O. p. poseidon)
O. p. gebeensis – Gebe Island, Indonesia
O. p. hecuba – Kai Islands, Indonesia
O. p. impensis – Manipa Island, Indonesia
O. p. kassandra – Yapen Island of West Papua, Indonesia
O. p. macalpinei – Iron and McIlwraith Ranges of Queensland, Australia (may be junior synonym of O. p. poseidon)
O. p. miokensis – Mioko Island, Papua New Guinea
O. p. poseidon – New Guinea and northern Torres Strait Islands
O. p. priamus – Seram, Saparua and Ambon, Indonesia
O. p. pronomus – southern Torres Strait Islands of Queensland, Australia (may be junior synonym of O. p. poseidon)
O. p. sterrensis – Mt. Sterren of West Papua, Indonesia (possible junior synonym of O. p. poseidon)
O. p. teucrus – Biak and Supiori of West Papua, Indonesia
O. p. wituensis – Vitu Islands, Papua New Guinea (may be junior synonym of O. p. bornemanni)
O. p. urvillianus – New Ireland and Bougainville, Papua New Guinea, and Solomon Islands
There have been as many as 99 subspecies described (most of which are synonyms of O. p. poseidon), with many more named variants and forms described for both sexes. Some list as few as six subspecies (including nominate), but a taxonomic review is needed and most recognise more:
O. p. admiralitatis – Admiralty Islands and nearby smaller islands, Papua New Guinea
O. p. albiro – Tayandu Islands, Indonesia (may be junior synonym of O. p. hecuba)
O. p. arruana – Aru Islands, Indonesia
O. p. aureus – Arfak Mountains of West Papua, Indonesia (may be junior synonym of O. p. poseidon)
O. p. boisduvali – Woodlark Island, Papua New Guinea
O. p. bornemanni – New Britain and nearby smaller islands, Papua New Guinea
O. p. caelestis – Louisiade Archipelago, Papua New Guinea
O. p. demophanes – D'Entrecasteaux and Trobriand Islands, Papua New Guinea
O. p. garainaensis – vicinity of Garaina, Papua New Guinea? (may be junior synonym of O. p. poseidon)
O. p. gebeensis – Gebe Island, Indonesia
O. p. hecuba – Kai Islands, Indonesia
O. p. impensis – Manipa Island, Indonesia
O. p. kassandra – Yapen Island of West Papua, Indonesia
O. p. macalpinei – Iron and McIlwraith Ranges of Queensland, Australia (may be junior synonym of O. p. poseidon)
O. p. miokensis – Mioko Island, Papua New Guinea
O. p. poseidon – New Guinea and northern Torres Strait Islands
O. p. priamus – Seram, Saparua and Ambon, Indonesia
O. p. pronomus – southern Torres Strait Islands of Queensland, Australia (may be junior synonym of O. p. poseidon)
O. p. sterrensis – Mt. Sterren of West Papua, Indonesia (possible junior synonym of O. p. poseidon)
O. p. teucrus – Biak and Supiori of West Papua, Indonesia
O. p. wituensis – Vitu Islands, Papua New Guinea (may be junior synonym of O. p. bornemanni)
O. p. urvillianus – New Ireland and Bougainville, Papua New Guinea, and Solomon Islands
Ornithoptera priamus