Heat the milk in a bowl in the microwave or on the stovetop to about 105 to 115 F (40 to 44 C). Then add the yeast with a pinch of sugar. Allow the yeast to get foamy, about 5 to 10 minutes.
Next mix the flour and the salt together. Add the yeast mixture to a large bowl along with the sugar. Whisk to combine the two.
Gradually add the flour a little at a time until a nice tacky dough forms, leaving a little flour leftover. Knead the dough for 8 to 10 minutes adding more of the leftover flour as necessary. Hand knead the dough or use a stand mixer. The dough should get smooth and bounce back when you poke it with your finger. Place in a large bowl and cover and allow to rise for 1 hour or until doubled. After the dough has risen, punch it down and wrap it with plastic wrap and place in the fridge for 30 minutes.
Create a butter slab by adding the butter to the middle of a piece of parchment paper. Fold the parchment paper over the butter and pound it down with a meat tenderizer or rolling pin. Shape it into a square that is around 8 inches by 8 inches. Wrap the butter in the parchment paper and chill in the fridge with the dough.
Take the dough and butter slab out of the fridge. Roll out the dough so it is a few inches larger than the butter slab. Then with the butter in the middle draw a line around it with your finger. Remove the butter and roll away from the lines creating dough flaps. Unwrap the butter and place it in the middle. Fold the flaps over the butter.
Roll the dough out fold side down creating a long rectangle 8 to 10 inches wide by 20 inches long. Wipe off any loose flour. Then fold the dough in thirds like you would with paper for an envelope. Wrap it in plastic wrap and chill for 30 minutes.
Repeat that process of rolling, folding, and chilling 3 more times. After the last time chill in the fridge for 8 to 10 hours or overnight. Remember to wipe off any loose flour.
On a lightly floured surface roll the dough out one final time into the large rectangle shape, again 8 to 10 inches wide by 20 inches long. Then cut triangles out of the dough with a pizza cutter or knife.
Slit the wide in of the triangle and pull the slit out a little bit and roll towards the point of the triangle created the croissant. Leave straight or pull the ends toward each other, creating the class crescent shape. Place the rolls on a sheet pan lined with parchment paper or a silicone mat and cover and let rise for 1 to 2 hours.
After to rolls are done rising created an egg wash with one egg and a few teaspoons of milk. Baste the tops of the rolls and then bake in a preheated oven at 400 F (204 C) for 20 to 25 minutes until golden brown. Hallelujah, the homemade croissants are done! Let them cool for a few minutes then, enjoy. Now you are a baking rock star! :)