Gene-based therapy is the intentional modulation of gene expression in specific cells to treat pathological conditions. This modulation is accomplished by introducing exogenous nucleic acids such as DNA, mRNA, small interfering RNA (siRNA), microRNA (miRNA) or antisense oligonucleotides. Given the large size and the negative charge of these macromolecules, their delivery is typically mediated by carriers or vectors. In this Review, we introduce the biological barriers to gene delivery in vivo and discuss recent advances in material sciences, nanotechnology and nucleic acid chemistry that have yielded promising non-viral delivery systems, some of which are currently undergoing testing in clinical trials. The diversity of these systems highlights the recent progress of gene-based therapy using non-viral approaches.