Snap är en modifiering av programmeringsspråket Scratch. Den innehåller många funktioner som inte finns i Scratch, alltifrån att bygga egna block till att mesha. Modifieringen är ett fritt, block- och webbaserat, grafisk utbildningsprogrammeringsspråk som man kan skapa interaktiva animationer, spel, berättelser med samtidigt som man lär sig om matematisk och beräkningar. Snap är inspirerat av Scratch, men riktar sig både till nybörjare och mer avancerade studenter då det även inkluderar mer expanderande Scratch-funktioner.
Utseendemässigt liknar det Scratch med paletten i det vänstra området, skript-området i samband med en vald sprite i mitten av skärmen, och scenområdet med spritens miniatyrer i den högra delen av skärmen. I ”scenområdet ” presenteras resultaten (dvs animationer, grafik etc). När en sprite-miniatyr är valts, kan kommandoblock appliceras på den genom att dra dem från paletten till scriptet. Tillgängliga block listas och kategoriseras på samma sätt som i Scratch.