Make the cookies:
In a large bowl, use an electric mixer to beat the butter and sugar on medium-high speed until well-combined and smooth, about 3 minutes. Add the eggs, vanilla, and almond extract and beat until combined. On low speed, slowly add in the flour and baking powder and beat until incorporated.
Divide the dough into 2 equal portions. Place one dough portion between two sheets of parchment and roll out to 1/4-inch thickness. Repeat with the remaining portion of dough. Place the two sheets of dough on a baking sheet and chill for at least 1 hour or up to 1 day. You can also freeze for 30 minutes.
Preheat the oven to 350°F. Line large baking sheets with parchment paper or silicone baking mats.
Remove the dough from the fridge and cut into shapes with a cookie cutter, rerolling any scraps and cutting more shapes. Transfer the shapes to the prepared baking sheets.
If the dough is warm, freeze for 15 minutes or until firmed again.
Bake for 10 minutes, or until the cookies are set and begin to brown. Be careful not to over-bake. Let the cookies cool for 5 minutes before removing to a wire rack to cool completely. Baked un-iced sugar cookies can be frozen in an airtight container for up to 1 month.
Make the icing:
In a small bowl, use a fork to beat together all the ingredients except the food coloring. The mixture should be very thick but still pourable.
Transfer the icing to a squeeze bottle using a funnel. You can also scoop into a pastry bag fitted with a very small plain tip. Before you begin icing any cookies, take a few moments to practice on a piece of parchment paper to get the feel of the icing.
Holding the bottle or bag tip directly over one corner of a cookie, create lines and dots to enhance the snowflake shape as seen in the photos. If desired, garnish with edible dragees, glitter, or sprinkles. Let the icing set before serving.