Scratch is een object-georiënteerde visuele programmeertaal die ontwikkeld is op de MIT door Lifelong Kindergarten group en het MIT Media Lab. De taal is geschikt voor het maken van visualisaties zoals interactieve verhalen, animaties, spellen, muziek en kunst en richt zich speciaal op jonge mensen vanaf 8 jaar.
Het bijzondere aan deze programmeertaal is dat het werkt met blokjes in plaats van tekst. Dat beperkt syntaxisfouten door de onderdelen van een programma als legosteentjes in elkaar te laten passen. Als de blokjes passen is het programma syntactisch in orde en kan het worden uitgevoerd. Programmeerfouten blijven vanzelfsprekend mogelijk.
De naam Scratch komt uit de muziek van de dj-techniek scratchen. Het verwijst daarbij naar de mogelijkheid om nieuw werk te maken door werk van anderen te remixen. Ieder Scratchproject dat op de website gedeeld wordt (16,8 miljoen op 29 september[(sinds) wanneer?]) komt inclusief de code waarmee het gemaakt is en op de projectpagina staat ook een remixboom die laat zien of het project een remix is of dat het juist door anderen als bron gebruikt wordt.
De projectleider van het Scratch-project is Mitch Resnick, wiens onderzoek ook aan de basis heeft gestaan voor de ontwikkeling van LEGO Mindstorms, waarbij kinderen robots kunnen bouwen en programmeren.
In 2014 is een versimpelde versie van Scratch live gegaan met de naam Scratch JR (JR staat voor junior). Scratch JR richt zich op kinderen die nog niet kunnen lezen, vanaf vijf jaar. Het programma was in eerste instantie alleen maar beschikbaar voor de iPad maar is nu ook beschikbaar voor Android. Het programma staat ook in de Chrome Web store en op Amazon. Op 2 januari 2019 kwam Scratch versie 3.0 uit met meer nieuwe tools en grotere blokken voor touchscreen (bijvoorbeeld mobiele en touchscreencomputers).
Scratch heeft veel samenwerkingen gehad met bedrijven. Zoals: Amazon Web Services, Google, Joylabz, LEGO & Vernier.