In informatica, una chiusura è una funzione che ha un proprio ambiente. In questo ambiente, c'è almeno una variabile vincolata (un nome che ha un valore, come un numero). L'ambiente della chiusura mantiene le variabili vincolate in memoria tra gli usi della chiusura.

Peter J. Landin diede a questa idea il nome di chiusura nel 1964. Il linguaggio di programmazione Scheme ha reso le chiusure popolari dopo il 1975. Molti linguaggi di programmazione realizzati dopo quel periodo hanno le chiusure.

Le funzioni anonime (funzioni senza nome) sono a volte erroneamente chiamate chiusure. La maggior parte dei linguaggi che hanno funzioni anonime hanno anche delle chiusure. Una funzione anonima è anche una chiusura se ha un proprio ambiente con almeno una variabile legata. Una funzione anonima senza un proprio ambiente non è una chiusura. Una chiusura con nome non è anonima.