Pupuķi ligzdo koku dobumos, ēku šķirbās, arī klints spraugās
un
ēku
drupās. Mēdz aizņemt putnu būrīšus. Reizēm ligzdo arī alās ūdenstilpju
krastos. Atsevišķos gadījumos pupuķi mēdz ligzdot arī zemē starp koku
saknēm. Ligzda var būt vispār bez izklājuma, taču izklājumā var būt
zāle, lapas, sūnas un priežu skujas. Dējumā 78 olas. Latvijā pupuķi
olas dēj maija sākumā. Parasti ir viens perējums, taču izplatības
areāla dienvidos var būt arī divi vai reizēm pat trīs perējumi. Olas
tiek dētas atkārtoti arī pēc ligzdas izpostīšanas. Perē tikai mātīte,
kas to sāk pēc pirmās vai otrās olas izdēšanas. Perēšanas ilgums
1518 dienas. Mazuļi nešķiļas vienlaikus, bet ar tādiem pašiem
intervāliem, kā dētas olas. Tie apspalvojas 2629 dienās. Bieži vien
sliktos barības apstākļos jaunākie mazuļi iet bojā.
Olu krāsa un forma ir ļoti mainīga. To krāsa var būt no gaiši pelēkas
un zaļganpelēkas līdz brūnai. Pupuķu olām raksturīgas labi redzamas
poras čaumalā.