The information used to build proteins is stored in the genetic material of every organism. In nature, ribosomes use 20 native amino acids to synthesize proteins in most circumstances. However, laboratory efforts to expand the genetic repertoire of living cells and organisms have successfully encoded more than 80 nonnative amino acids in E. coli, yeast, and other eukaryotic systems. The selectivity, fidelity, and site-specificity provided by the technology have enabled unprecedented flexibility in manipulating protein sequences and functions in cells. Various biophysical probes can be chemically conjugated or directly incorporated at specific residues in proteins, and corresponding analytical techniques can then be used to answer diverse biological questions. This review summarizes the methodology of genetic code expansion and its recent progress, and discusses the applications of commonly used analytical methods.