The unique reactivity of two sortase enzymes, SrtA(staph) from Staphylococcus aureus and SrtA(strep) from Streptococcus pyogenes, is exploited for site-specific labeling of a single polypeptide with different labels at its N and C termini. SrtA(strep) is used to label the protein's C terminus at an LPXTG site with a fluorescently labeled dialanine nucleophile. Selective N-terminal labeling of proteins containing N-terminal glycine residues is achieved using SrtA(staph) and LPXT derivatives. The generality of N-terminal labeling with SrtA(staph) is demonstrated by near-quantitative labeling of multiple protein substrates with excellent site specificity.