Get the reverse, complement or reverse complement of a DNA or RNA sequence. Paste a plain sequence or FASTA; IUPAC degenerate bases are supported.
The two strands of a DNA double helix pair base by base, A with T and G with C (A with U in RNA), and run in opposite directions. By convention every sequence is written from the 5′ end to the 3′ end. So the partner strand of a sequence is not simply its complement: it is the complement read backwards, the reverse complement.
Complement every base, then reverse the order. This is the other strand written 5′→3′: the form used for reverse primers, probes, and reads that map to the minus strand.
Swap each base for its partner and keep the order. The result is the other strand read 3′→5′, which is useful for checking base pairing position by position.
Reverse the order without pairing. Use it when a sequence was written 3′→5′ and you need it in the standard 5′→3′ direction.
Degenerate primers and consensus sequences use IUPAC codes for positions that can hold more than one base. The complement of a degenerate code is the code for the complementary set of bases, so R (A or G) pairs with Y (C or T). The tool applies this table to every position.
| Code | Meaning | Complement |
|---|---|---|
| Standard bases | ||
| A | Adenine | T (U in RNA) |
| C | Cytosine | G |
| G | Guanine | C |
| T / U | Thymine (DNA) / Uracil (RNA) | A |
| Two possible bases | ||
| R | A or G (purine) | Y |
| Y | C or T (pyrimidine) | R |
| S | G or C (strong) | S |
| W | A or T (weak) | W |
| K | G or T (keto) | M |
| M | A or C (amino) | K |
| Three possible bases | ||
| B | C, G or T (not A) | V |
| D | A, G or T (not C) | H |
| H | A, C or T (not G) | D |
| V | A, C or G (not T) | B |
| Any base and gaps | ||
| N | Any base | N |
| - | Gap in an alignment | - |
GAATTC, for example, reads the same on both strands. Many type II restriction enzymes recognize palindromic sites like this, so they find the same sequence on each strand.Say the region you want to amplify ends with this stretch on the top (sense) strand: 5′-TTGCAGACCGTAAGCTGAAC-3′. The reverse primer has to anneal to that stretch, antiparallel, so its sequence is the bottom strand written 5′→3′, which is the reverse complement.
GTTCAGCTTACGGTCTGCAAA common mistake is to order only the complement, AACGTCTGGCATTCGACTTG. That is the bottom strand read 3′→5′. Synthesized as written, it runs parallel to the target instead of antiparallel and will not prime the reaction. Before ordering, also check primer length, GC content, melting temperature and the 3′ end; see our 12 golden rules for PCR primer design.
The complement replaces every base with its pairing partner (A↔T, G↔C) but keeps the order, so you get the opposite strand read 3′→5′. The reverse complement also reverses the order, giving the opposite strand written in the standard 5′→3′ direction. For primers, probes and sequences that map to the minus strand, the reverse complement is almost always the one you need.
Each IUPAC code is replaced by the code for the complementary set of bases: R (A or G) becomes Y (C or T), K becomes M, B becomes V and D becomes H, while N, S and W stay the same. The full list is in the table above. Degenerate positions count toward the length but are left out of GC content, except S, which is always G or C.
Yes. Choose RNA (U) and every result is written with U instead of T. If your input is the template (antisense) strand written 5′→3′, the RNA transcribed from it is its reverse complement, so copy the Reverse complement box. If your input is the coding (sense) strand, the mRNA has the same sequence with each T replaced by U.
No. Reverse translation turns a protein sequence back into a possible DNA sequence using the genetic code; because most amino acids have several codons, the result is degenerate. This tool works on nucleotide sequences only. If you paste a protein sequence, it flags the letters that are not nucleotide codes instead of converting them.
No. The conversion runs entirely in your browser with JavaScript. Your sequence is not sent to our server or to anyone else, and nothing is kept after you close or reload the page.