W 1902 roku Puccini zażądał skreślenia aktu rozgrywającego się w konsulacie i powrócenia do wersji dwuaktowej. W początkowej wersji, tej wystawionej w Mediolanie, Butterfly miała dwójkę dzieci. W wersji poprawionej było jedno. Giacosa początkowo sprzeciwił się wyrzuceniu całego aktu, jednak ostatecznie zgodził się na zmiany. Po wypadku samochodowym kompozytora, w którym złamał sobie nogę, do prac powrócono wiosną 1903 roku, a całość ukończono 27 grudnia.

Muzyka mały|Strona z libretta Opera zawiera elementy orientalne w tym popularną w krajach azjatyckich skalę pięciostopniową. Butterfly swoją pierwszą arię (Ancora un passo) kończy wysokim D, najwyższą nutą Pucciniego napisaną pod sopran. Duet głównych bohaterów pod koniec aktu pierwszego jest najdłuższym tego typu utworem w twórczości kompozytora. Arturo Toscanini, dyrygent poprzednich oper Pucciniego, wybrał do roli tytułowej swoją kochankę Rosinę Storchio, a rolę dyrygenta oddał Campaniniemu. Wiele lat po premierze przyznał, że w jego ocenie dwa długie akty to był zły pomysł, jednak nie konsultował tego z twórcami przed premierą. Puccini wkomponował do opery fragmenty utworów japońskich, które dostał od żony ambasadora. Były to m.in.: Kimi-ga-yo (hymn), Echigo-jishi (rodzaj regionalnej melodii ludowej z prowincji Echigo, ob.