Rekursi adalah cara untuk menetapkan proses dengan dirinya sendiri. Lebih jelasnya (dan untuk menghalaukan penampilan kesirkularan dalam definisi), langkah-langkah "rumit" dari proses dijelaskan dengan langkah-langkah yang lebih "sederhana", dan kejadian yang paling "sederhana" diberi secara gamblang.

Bentuk visual dari rekursi yang dikenal dengan efek Droste

Dalam bahasa pemrograman, rekursi berarti memanggil suatu fungsi dari dalam fungsi itu sendiri. Sebagai contoh, dalam Bahasa Pemrograman C:

fungsi() {
...
fungsi();
...
}

Dalam hal ini, perlu ditambahkan kondisi untuk menghindari perulangan tak terhingga. (bahasa Inggris: infinite loop)

Contoh lainnya adalah proses perhitungan nilai fakultet dari suatu bilangan.