Line an 8-inch square pan with buttered parchment paper and set aside.
Combine sugar, cocoa, and salt in a medium saucepan. Add milk and stir with a wooden spoon.
Cook over medium heat, stirring constantly, until the mixture reaches a strong boil, about 15 minutes.
Reduce heat to medium-low and cook without stirring until the mixture reaches 234°F (112°C), about 30 minutes.
Remove from heat and add butter and vanilla extract without stirring. Let cool to room temperature, about 30 minutes.
When the mixture reaches 110°F (43°C), beat with a wooden spoon for 6 to 8 minutes until losing its gloss.
Spread the fudge quickly into the prepared pan and allow it to cool completely, preferably overnight at room temperature.
Cut into squares and serve when fully set.