GNU Emacs holder tekst i datastrukturer kjent som databuffere. Slike buffere kan vises på skjermen, og egenskapene til bufferene er både tilgjengelig for et program skrevet i Emacs Lisp og for brukergrensesnittet. Brukeren kan skape nye buffere, og forkaste uønskede, og mange buffere kan eksistere samtidig. Det er ingen øvre grense på antall buffere, bortsett fra grensen i datamaskinens minne. Avanserte brukere kan samle hundrevis av åpne buffere av forskjellige typer mens de arbeider. GNU Emacs kan konfigureres til å lagre listen av åpne buffere når programmet avsluttes, og gjenåpne denne listen når det startes på nytt.