Preheat oven to 375°F.
Spread the hazelnuts out on a single layer on a rimmed baking sheet and roast until dark brown and fragrant, 12 to 15 minutes, rotating the baking sheet halfway through baking. Keep a close eye on them, as they can go from perfect roasted to burnt in a short amount of time.
Transfer the hazelnuts to a medium-sized bowl.
Once the hazelnuts are cool enough to handle, place a second bowl upside-down on top of the bowl with the hazelnuts.
Shake vigorously for about 30 seconds to remove the skins of the hazelnuts. It may take a few times to get all of the skins off; each time, remove the hazelnuts that have lost their skin to the bowl of a food processor, then continue shaking.
Process the hazelnuts in a food processor until their oil is released and they form a smooth, loose paste, 2 to 5 minutes, scraping down the bowl often.
Add the powdered sugar, cocoa powder, hazelnut oil, vanilla extract and salt and process until fully incorporated, scraping the bowl as needed, about 2 minutes. The mixture will loosen and become glossy.
Transfer the spread to a jar with a tight-fitting lid or an airtight container. You can store it in the refrigerator or at room temperature for up to 1 month.