Sebuah pekan retas[1] atau hackathon (atau hackfest, atau codefest) adalah sebuah acara kolaborasi pengembangan proyek perangkat lunak[2] yang diadakan oleh suatu penyelenggara. Dalam acara pekan retas, biasanya para pemrogram komputer dan orang-orang lain yang terlibat dalam pengembangan perangkat lunak dan perangkat keras, termasuk desainer grafis, desainer antarmuka, dan manajer proyek berkumpul, biasanya selama akhir pekan, bahkan ada yang berlangsung hingga seminggu, untuk menciptakan suatu perangkat lunak yang bermanfaat. Acara pekan retas biasanya memiliki fokus yang spesifik, termasuk spesifik dalam hal bahasa pemrograman apa yang digunakan, menggunakan sistem operasi tertentu, aplikasi dan API tertentu, maupun target demografi pemrogram tertentu. Dalam kasus-kasus lain, hal-hal di atas tidak dibatasi oleh pihak penyelenggara.