Interaction specificity is a required feature of biological networks and a necessary characteristic of protein or small-molecule reagents and therapeutics. The ability to alter or inhibit protein interactions selectively would advance basic and applied molecular science. Assessing or modelling interaction specificity requires treating multiple competing complexes, which presents computational and experimental challenges. Here we present a computational framework for designing protein-interaction specificity and use it to identify specific peptide partners for human basic-region leucine zipper (bZIP) transcription factors. Protein microarrays were used to characterize designed, synthetic ligands for all but one of 20 bZIP families. The bZIP proteins share strong sequence and structural similarities and thus are challenging targets to bind specifically. Nevertheless, many of the designs, including examples that bind the oncoproteins c-Jun, c-Fos and c-Maf (also called JUN, FOS and MAF, respectively), were selective for their targets over all 19 other families. Collectively, the designs exhibit a wide range of interaction profiles and demonstrate that human bZIPs have only sparsely sampled the possible interaction space accessible to them. Our computational method provides a way to systematically analyse trade-offs between stability and specificity and is suitable for use with many types of structure-scoring functions; thus, it may prove broadly useful as a tool for protein design.