Design KASP primers with Primer3 v2.5.0

This tool uses primer3 to design KASP primers for given flanking sequences of SNPs/indels. If the genome of your species has gene duplicates (such as wheat), please try SNP_Primer_Pipeline2 for gene/sub-genome specifc primers.

Input file is a text file with each line looks like below (at least 50bp on each side of the SNP). SNPs and indels are surrounded by “[]” and anchoring points for the common primer are surrounded by “<>“. You can also add the anchoring points as the 3rd column separated by comma (such as “30,35,100”; NO spaces!!!). An example input can be downloaded here.


Step 1: load the SNP file: each line is a SNP/indel

Primer Size Min Opt Max

Primer Tm Min Opt Max Max Tm Difference

Product Size Ranges

Max Hairpin

Number of Primers To Return for each SNP

Pick primers anyway even if it violates specific constraints

Step 2: Start designing primers


This app will design N (number to return) KASP for both the forward and reverse flanking sequences of each SNP, so 2N of KASPs for each SNP.

Each KASP has 3 primers named as “SNP1” (the left allele in the []), “SNP2” (the right allele in the []) and “common”. SNP1 and SNP2 only have the 3’ end SNP difference. Please add FAM and VIC tails to the 5’ end of the two primers before ordering if you did not check the option above to include the tails in the output.


Output explanation

The output is the same as the primer3 website output. Here I just explain a few confusing names of the output based on the primer3 help page:

  • SELF_ANY: the tendency of a primer to bind to itself (interfering with target sequence binding).
  • SELF_END: the ability to use itself as a target and amplify a short piece (forming a primer-dimer).
  • PAIR_COMPL_ANY: the tendency of the left primer to bind to the right primer.
  • PAIR_COMPL_END: the ability to bind the 3’-END of the left primer to the right primer.

To me the most important parameter is Tm (close to 60 C and small difference between the left primer and the common primer) and hairpin (the smaller the better). Other parameter can help choose better primers when there are more options.

Caveat for indels

This app seeks the first nucleotide (nt) that is different from the two alleles, and uses that nt as the SNP to design KASP, so the allele specific primers still only have 1 nt difference. Actually, there are more options for indels than SNPs. Depending on the size of the indels, you could design quite different allele-specific primers.

When no primers with the default settings

  • set the Max hairpin up to 70; and/or
  • set the Max Tm difference up to 8.0 C; and/or
  • set the primer Tm from 56 to 70; and/or
  • set the primer length from 17 to 33; or
  • just check “pick primers anyway”

Characteristics of KASP primers designed by LGC and 3crbio (PACE)

I checked KASP primers designed by LGC and 3crbio (PACE) with primer3 default settings. Here are their Characteristics:

  • Tm: 58 C - 70 C, average 63 C;
  • Tm difference between left and right primers: 0 - 8 C, average 2.6 C.
  • Hairpin: 0 - 75
  • Product length: 39 - 93 bp, average 57 bp.
  • Primer length: 15 to 33 bp


  1. primer3: