One major challenge in nanomedicine is how to selectively deliver nanoparticles to diseased tissues. Nanoparticle delivery system requires targeting for specific delivery to pathogenic sites when enhanced permeability and retention (EPR) is not suitable or inefficient. Functionalizing nanoparticles is a widely-used technique that allows for conjugation with targeting ligands, which possess inherent ability to direct selective binding to cell types or states and, therefore, confer “smartness” to nanoparticles. This review illustrates methods of ligand-nanoparticle functionalization, provides a cross-section of various ligand classes, including small molecules, peptides, antibodies, engineered proteins, or nucleic acid aptamers, and discusses some unconventional approaches currently under investigation.