Hackathon (còn được gọi là một ngày hack, hackfest hoặc codefest) là một sự kiện thi đua lập trình trong đó các lập trình viên máy tính và những người khác tham gia vào phát triển phần mềm, bao gồm các người thiết kế đồ họa, thiết kế giao diện, người quản lý dự án, và những người khác, thường bao gồm các chuyên gia tên miền, hợp tác mạnh mẽ trong các dự án phần mềm.
Mục tiêu của hackathon là tạo ra phần mềm hoặc phần cứng có thể sử dụng được với mục tiêu tạo ra một sản phẩm có thể hoạt động được vào cuối sự kiện.[1] Hackathons có xu hướng tập trung cụ thể, có thể bao gồm ngôn ngữ lập trình được sử dụng, hệ điều hành, ứng dụng, API hoặc chủ đề và nhóm nhân khẩu học của các lập trình viên. Trong các trường hợp khác, không có hạn chế về loại phần mềm được tạo ra.