The 33-year-old Swiss struggled with his first serve early in the match, while the 30-year-old Seppi took advantage of three of his five break points to take a two sets to love lead.
Federer broke in the third game of the third set to begin what many on Rod Laver Arena thought would be a successful fight back.
Seppi, however, forced a tiebreak in the fourth and clinched victory with a desperate lunging forehand past the charging Swiss at the net to set up a fourth round clash with either Australian Nick Kyrigos or Tunisia's Malek Jaziri.