Chemical modification of proteins is important for creating a myriad of engineered proteins and for elucidating the function and dynamics of proteins in live cells. A wide variety of chemical protein modification methods have been developed and can be categorized into three classes: (i) modification of proteins using the reactivity of naturally occurring amino acids; (ii) modification by bioorthogonal reactions using unnatural amino acids, most of which can be siteselectively incorporated into proteins-of-interest using genetic codon expansion techniques; and (iii) recognition driven chemical modification, which is the only approach that allows modification of endogenous proteins without any genetic manipulation even under heavily crowded and multi-molecular conditions, as in live cells and organisms. All of these approaches have merits and limitations. In this review, we summarize these approaches and discuss their characteristics with respect to specificity, reaction rate and versatility.