Segundo estudiosos, o Dia de Todos os Santos teve a origem no Halloween.
No antigo costume celta, se supunha que os mortos vinham à terra visitar seus familiares na noite do dia 31 de outubro e por isso, a origem das fantasias, abóboras iluminadas e as caveiras, que tinham o intuito de afastar os visitantes do além.
Com a proximidade dos celtas com o cristinismo, essas práticas pagãs foram “cristianizadas” pela Igreja Católica, que criou a festa de Todos os Santos no dia 1º de novembro para espantar os maus espíritos para purificar o ambiente e celebrar a festa de todos os Santos, assim como o Dia de Finados, comemorado no dia 2 de forma pura e livre dos espíritos maus.
Então, a Festa de Todos os Santos se tornou uma festa em honra a todos os santos, conhecidos e desconhecidos.
No fim do segundo século, professos cristãos começaram a honrar os que haviam sido martirizados por causa da sua fé e, achando que eles já estavam com Cristo no céu, oravam a eles para que intercedessem a seu favor. A comemoração regular começou quando, em 13 de maio de 609 ou 610, o Papa Bonifácio IV dedicou o Panteão (o templo romano em honra a todos os deuses) a Maria e a todos os mártires. Markale comenta:
“Os deuses romanos cederam seu lugar aos santos da religião vitoriosa.”
A data foi mudada para novembro quando o Papa Gregório III (731-741) dedicou uma capela em Roma a Todos-os-Santos e ordenou que eles fossem homenageados em 1.° de novembro.
Não se sabe ao certo por que ele fez isso, mas pode ter sido porque já se comemorava um feriado parecido, na mesma data, na Inglaterra. A Enciclopédia da Religião afirma:
“O Samhain continuou a ser uma festa popular entre os povos celtas durante todo o tempo da cristianização da Grã-Bretanha. A Igreja britânica tentou desviar esse interesse em costumes pagãos acrescentando uma comemoração cristã ao calendário, na mesma data do Samhain. É possível que a comemoração britânica medieval do Dia de Todos-os-Santos tenha sido o ponto de partida para a popularização dessa festividade em toda a Igreja cristã.”
A Igreja Católica celebra a Festum Omnium Sanctorum (Festa de Todos-os-Santos) a 1 de novembro que é seguido pelo dia dos fiéis defuntos a 2 de novembro.
A Igreja Ortodoxa celebra esta festividade no primeiro domingo depois do Pentecostes, fechando a época litúrgica da Páscoa, tal como a Igreja Católica Oriental.
A Igreja Anglicana também celebra o dia de Todos os Santos com o mesmo significado que nas Igrejas Católica e Ortodoxa.
Na Igreja Luterana, o dia é celebrado principalmente para lembrar que todas as pessoas batizadas são santas e também aquelas pessoas que faleceram no ano que passou, pelo que o significado da celebração também é quase idêntico ao de outras igrejas cristãs.