Primer3 is a complete rewrite of the original PRIMER program (Primer 0.5), written by Steve Lincoln, Mark Daly, and Eric Lander. See DIFFERENCES FROM EARLIER VERSIONS for a discussion of how Primer3 differs from its predecessors, Primer 0.5 and Primer v2.
Primer3 picks primers for PCR reactions, considering as criteria:
All of these criteria are user-specifiable as constraints, and some are specifiable as terms in an objective function that characterizes an optimal primer pair.
Whitehead Institute for Biomedical Research provides a web-based front end to Primer3 at http://fokker.wi.mit.edu/cgi-bin/primer3/primer3_www.cgi