Henry Daniel Mills is a fictional character in ABC 's television series Once Upon a Time. Henry is the boy Emma Swan gave up to adoption; Regina Mills adopted him. Henry was originally portrayed as a child by Jared S. Gilmore, who won the Young Artist Award for Best Performance in a TV Series -- Leading Young Actor in 2012. For the show 's seventh and final season, Andrew J. West later took over the role of Henry as an adult and father to a ten - year - old girl named Lucy, with Gilmore also making three appearances as Henry during the season.
who plays henry mills in once upon a time
Jared S. Gilmore Andrew J. West