Madama Butterfly is an Italian opera in three acts with music by Giacomo Puccini. The libretto was written by Giuseppe Giacosa and Luigi Illica. It was based on a play by David Belasco. The opera was first performed in Milan, Italy, on February 17, 1904. Its revised version was performed in Brescia, on May 28, 1904. Although a fiasco at its premiere, it soon established itself in its revised version as one of the most beloved of operas. 