Human pluripotent stem cells (hPSCs) offer unique opportunities for studying human biology, modeling diseases and for therapeutic applications. The simplest approach so far to generate human PSCs lines is through reprogramming of somatic cells from an individual by defined factors, referred to simply as reprogramming. Reprogramming circumvents the ethical issues associated with human embryonic stem cells (hESCs) and nuclear transfer hESCs (nt-hESCs), and the resulting induced pluripotent stem cells (hiPSCs) retain the same basic genetic makeup as the somatic cell used for reprogramming. Since the first report of iPSCs by Takahashi and Yamanaka, the molecular mechanisms of reprogramming have been extensively investigated. A better mechanistic understanding of reprogramming is fundamental not only to iPSC biology and improving the quality of iPSCs for therapeutic use, but also to our understanding of the molecular basis of cell identity, pluripotency and plasticity. Here we summarize the genetic, epigenetic and cellular events during reprogramming, and the roles of various factors identified thus far in the reprogramming process.