La historia de Hamlet fue narrada por Saxo Grammaticus en la Gesta de los daneses (libros III y IV, capítulos 86-106), de principios del siglo XIII. Llegó a Shakespeare a través de las Histoires Tragiques de François de Belleforest y de un drama perdido (el llamado Ur-Hamlet), que probablemente se representó en 1587 o 1589. Hay algunas divergencias importantes entre la narración de Belleforest y el drama shakesperiano: en el relato del francés, Hamlet sabe desde el principio cómo murió su padre, por lo cual su fingida locura tiene una magnífica justificación; por otra parte, no muere en el cumplimiento de su venganza y es capaz de obrar enérgicamente en el momento preciso.
