DNA to Protein Translator
Paste a DNA or RNA sequence, plain or in FASTA, and see the mRNA and the protein it encodes in any of the six reading frames — in one- or three-letter code, with start and stop codons highlighted and a codon-by-codon table. Switch to ORF mode to list every open reading frame on both strands. Translation uses the standard code (NCBI table 1) and runs in your browser; nothing is uploaded.
Spaces, line breaks, numbers and lower case are fine. Several FASTA records are translated one by one. Ambiguity codes (N, R, Y…) are handled.
Results
NM_000207.3
333 nt
Sequence length
110 aa
Protein length
1
Stop codons
Protein
mRNA — the strand read, with U for T
Green marks an ATG codon; red marks a stop codon (TAA, TAG, TGA).
Codon-by-codon table
| # | Codon | Three-letter | One-letter |
|---|---|---|---|
| 1 | AUG | Met | M |
| 2 | GCC | Ala | A |
| 3 | CUG | Leu | L |
| 4 | UGG | Trp | W |
| 5 | AUG | Met | M |
| 6 | CGC | Arg | R |
| 7 | CUC | Leu | L |
| 8 | CUG | Leu | L |
| 9 | CCC | Pro | P |
| 10 | CUG | Leu | L |
| 11 | CUG | Leu | L |
| 12 | GCG | Ala | A |
| 13 | CUG | Leu | L |
| 14 | CUG | Leu | L |
| 15 | GCC | Ala | A |
| 16 | CUC | Leu | L |
| 17 | UGG | Trp | W |
| 18 | GGA | Gly | G |
| 19 | CCU | Pro | P |
| 20 | GAC | Asp | D |
| 21 | CCA | Pro | P |
| 22 | GCC | Ala | A |
| 23 | GCA | Ala | A |
| 24 | GCC | Ala | A |
| 25 | UUU | Phe | F |
| 26 | GUG | Val | V |
| 27 | AAC | Asn | N |
| 28 | CAA | Gln | Q |
| 29 | CAC | His | H |
| 30 | CUG | Leu | L |
| 31 | UGC | Cys | C |
| 32 | GGC | Gly | G |
| 33 | UCA | Ser | S |
| 34 | CAC | His | H |
| 35 | CUG | Leu | L |
| 36 | GUG | Val | V |
| 37 | GAA | Glu | E |
| 38 | GCU | Ala | A |
| 39 | CUC | Leu | L |
| 40 | UAC | Tyr | Y |
| 41 | CUA | Leu | L |
| 42 | GUG | Val | V |
| 43 | UGC | Cys | C |
| 44 | GGG | Gly | G |
| 45 | GAA | Glu | E |
| 46 | CGA | Arg | R |
| 47 | GGC | Gly | G |
| 48 | UUC | Phe | F |
| 49 | UUC | Phe | F |
| 50 | UAC | Tyr | Y |
| 51 | ACA | Thr | T |
| 52 | CCC | Pro | P |
| 53 | AAG | Lys | K |
| 54 | ACC | Thr | T |
| 55 | CGC | Arg | R |
| 56 | CGG | Arg | R |
| 57 | GAG | Glu | E |
| 58 | GCA | Ala | A |
| 59 | GAG | Glu | E |
| 60 | GAC | Asp | D |
| 61 | CUG | Leu | L |
| 62 | CAG | Gln | Q |
| 63 | GUG | Val | V |
| 64 | GGG | Gly | G |
| 65 | CAG | Gln | Q |
| 66 | GUG | Val | V |
| 67 | GAG | Glu | E |
| 68 | CUG | Leu | L |
| 69 | GGC | Gly | G |
| 70 | GGG | Gly | G |
| 71 | GGC | Gly | G |
| 72 | CCU | Pro | P |
| 73 | GGU | Gly | G |
| 74 | GCA | Ala | A |
| 75 | GGC | Gly | G |
| 76 | AGC | Ser | S |
| 77 | CUG | Leu | L |
| 78 | CAG | Gln | Q |
| 79 | CCC | Pro | P |
| 80 | UUG | Leu | L |
| 81 | GCC | Ala | A |
| 82 | CUG | Leu | L |
| 83 | GAG | Glu | E |
| 84 | GGG | Gly | G |
| 85 | UCC | Ser | S |
| 86 | CUG | Leu | L |
| 87 | CAG | Gln | Q |
| 88 | AAG | Lys | K |
| 89 | CGU | Arg | R |
| 90 | GGC | Gly | G |
| 91 | AUU | Ile | I |
| 92 | GUG | Val | V |
| 93 | GAA | Glu | E |
| 94 | CAA | Gln | Q |
| 95 | UGC | Cys | C |
| 96 | UGU | Cys | C |
| 97 | ACC | Thr | T |
| 98 | AGC | Ser | S |
| 99 | AUC | Ile | I |
| 100 | UGC | Cys | C |
| 101 | UCC | Ser | S |
| 102 | CUC | Leu | L |
| 103 | UAC | Tyr | Y |
| 104 | CAG | Gln | Q |
| 105 | CUG | Leu | L |
| 106 | GAG | Glu | E |
| 107 | AAC | Asn | N |
| 108 | UAC | Tyr | Y |
| 109 | UGC | Cys | C |
| 110 | AAC | Asn | N |
| 111 | UAG | Ter | * |
How to Use the DNA to Protein Translator
- 1. Paste the sequence. Plain letters or FASTA both work; spaces, line breaks, position numbers and lower case are ignored. Treat the sequence as the coding (sense) strand. U is read as T.
- 2. Choose a frame. +1, +2 and +3 start at the first, second and third base; −1, −2 and −3 do the same on the reverse complement. All six frames shows them together. If you pasted the template strand, use −1.
- 3. Set the options. Stop at the first stop codon, begin at the first ATG, and pick one-letter or three-letter output.
- 4. Or look for genes. Find open reading frames lists every ATG-to-stop stretch above a minimum length, on one strand or both, with coordinates and protein sequences you can copy as FASTA.
From DNA to Protein
Transcription copies the template strand of a gene into mRNA, so the mRNA has the same sequence as the opposite, coding strand with U in place of T. Translation then reads the mRNA three bases at a time. Each triplet, or codon, specifies one amino acid or a stop signal. Sequence databases usually print the coding strand, which is why you can paste a GenBank or RefSeq coding sequence straight in.
| Feature of the standard code | Detail |
|---|---|
| Codons | 64 in all: 61 specify an amino acid and 3 are stops |
| Stop codons | UAA, UAG, UGA (TAA, TAG, TGA in DNA) |
| Methionine and tryptophan | One codon each: AUG and UGG |
| Leucine, serine, arginine | Six codons each |
| Start codons | AUG is the usual start; table 1 also allows UUG and CUG as initiators |
The tool uses translation table 1 as published by NCBI. Codons that contain IUPAC ambiguity codes get an amino acid whenever every possible codon agrees: GCN is always alanine and TAR is a stop. A mix of asparagine and aspartate is reported as B, glutamine and glutamate as Z, leucine and isoleucine as J, and any other mix as X. These results match Biopython's translator for every three-letter combination of the 15 nucleotide codes.
Reading Frames and Open Reading Frames
A sequence can be read from three starting points on each strand, giving six reading frames; only the frame a gene actually uses produces a meaningful protein, and the other five usually hit a stop codon within a few dozen codons. An open reading frame (ORF) here is a run from an ATG to the next in-frame stop with no stop in between. Only the outermost ATG of each run is reported, so an ORF with several internal ATGs appears once. Short ORFs occur by chance — a stop codon turns up about once every 21 codons in random sequence — so the minimum length matters. The default of 25 amino acids (75 nucleotides) matches NCBI ORFfinder; for bacterial genomes a minimum of 100 or more cuts the noise. An ORF is a candidate, not proof of a gene.
Worked Example: Human Preproinsulin
Try an example loads the 333-nucleotide coding sequence of human insulin from NCBI RefSeq NM_000207.3. That is 111 codons: 110 amino acids and a final stop. Frame +1 gives the preproinsulin protein (UniProt P01308); the final asterisk is the stop codon:
Frame +1, one-letter code
MALWMRLLPLLALLALWGPDPAAAFVNQHLCGSHLVEALYLVCGERGFFYTPKTRREAEDLQVGQVELGGGPGAGSLQPLALEGSLQKRGIVEQCCTSICSLYQLENYCN*
Frames +2 and +3 hit stops almost at once (frame +2 reads WPCGCASCPCWRCWPSGDLTQPQPL and then stops). In ORF mode with the default minimum, the tool reports the 110-amino-acid ORF at positions 1–333 and a 49-amino-acid ORF on the reverse strand at positions 147–296 — a reminder that an ORF alone does not make a gene. Once you have the protein, estimate its mass with the protein molecular weight calculator.
What This Translator Does Not Do
- Other genetic codes. Vertebrate mitochondria, ciliates and some bacteria read a few codons differently — in vertebrate mitochondria TGA codes for tryptophan. Only the standard code is built in.
- Splicing. Paste cDNA or a coding sequence, not genomic DNA with introns; the tool reads straight through.
- Recoding and frameshifts. Selenocysteine and pyrrolysine insertion, and programmed frameshifts, are not modelled.
- Input size. Each record is limited to the first 2,000,000 bases, and the highlighted view shows the first 6,000.
Frequently Asked Questions
- How do you convert a DNA sequence to a protein sequence?
- Find the start codon ATG in the coding strand, then read the sequence three bases at a time and replace each codon with its amino acid from the genetic code until you reach a stop codon (TAA, TAG or TGA). ATG becomes methionine, GCC alanine, and so on. The translator does this for you in all six frames at once.
- Which strand should I paste, coding or template?
- Paste the coding (sense) strand — the one whose sequence matches the mRNA, apart from U for T. Sequence databases print this strand. If you have the template (antisense) strand instead, translate frame −1, which reads its reverse complement.
- What are the six reading frames?
- Starting at base 1, 2 or 3 of the strand gives frames +1, +2 and +3; doing the same on the reverse complement gives −1, −2 and −3. A gene is read in one of them, so scanning all six shows which frame carries a long uninterrupted ORF.
- What do X, B, Z, J and * mean in the output?
- An asterisk marks a stop codon. X means the codon is ambiguous and could encode several different amino acids, or contained a code like N that could not be resolved. B stands for asparagine or aspartate, Z for glutamine or glutamate, and J for leucine or isoleucine.
- Why does my protein not match the published one?
- The usual causes are the wrong frame, starting at the wrong ATG, pasting a genomic sequence that contains introns, or a gene that uses a non-standard code such as the vertebrate mitochondrial one. Compare the first few residues with the database entry and try the other frames and the first-ATG option.
- Is my sequence uploaded anywhere?
- No. The translation runs entirely in your browser and nothing is sent to a server, so unpublished sequences stay on your computer.