Scratch là một ngôn ngữ lập trình mang tính giáo dục miễn phí dựa trên các khối ngôn ngữ lập trình trực quan (VPL) và trang web chủ yếu để giáo dục lập trình, với mục tiêu là hướng tới đối tượng có độ tuổi từ 8 đến 16 tuổi. Người dùng trên trang web, gọi là Scratcher, có thể tạo ra dự án trên trang web sử dụng giao diện với khối lập trình. Dự án có thể xuất thành các tệp dạng HTML5, JavaScript, Android apps và EXE bằng các công cụ bên ngoài. Dự án được phát triển bởi MIT Media Lab, được dịch thành hơn 70 ngôn ngữ, và được sử dụng ở hầu hết các nơi trên thế giới. Scratch được sử dụng và giảng dạy ở các trường học, trung tâm và các trường Cao đẳng cũng như các tổ chức tri thức công cộng khác. Tính tới tháng 12 năm 2021, thống kê cộng đồng trên trang web chính thức của Scratch cho thấy có hơn 92 triệu dự án được chia sẻ bởi hơn 82 triệu người dùng, tổng số 638 triệu dự án đã từng được tạo và hơn 100 triệu lượt truy cập trang web hàng tháng. Tên gọi "Scratch" được đặt theo một kỹ thuật được sử dụng bởi DJ được gọi là "scratching", trong đó các bản ghi vinyl được cắt lại với nhau và thao tác trên bàn xoay để tạo ra các hiệu ứng âm thanh và âm nhạc khác nhau. Giống như scratching, trang web của Scratch cho phép người dùng kết hợp các phương tiện khác nhau với nhau (bao gồm đồ họa, âm thanh và các chương trình khác) bằng cách tạo hoặc "phối lại" (remix) các dự án từ những người dùng khác, như trò chơi điện tử, hoạt hình và mô phỏng.