Quê ở xã Thanh Liệt, huyện Thanh Trì, Hà Nội. Ông thi đỗ Thái học sinh, không ra làm quan mà ở nhà dạy học, sau đó được mời ra làm Tư nghiệp (Hiệu trưởng) Quốc Tử Giám, soạn nhiều sách. Vào đời Trần Dụ Tông ông dâng sớ xin chém đầu gian thần, song vua không nghe nên ông lui về ở ẩn.