Audited ·Last updated 29 Jul 2026·5 citations·Tier 2·0 uses

Codon Translation Calculator — DNA or RNA to Protein

Translate DNA or RNA to a peptide using NCBI genetic code tables 1, 2, 5 and 11, in any of the three forward reading frames. Handles IUPAC ambiguity codes.

Codon Translation Calculator

DNA or RNA, plain or FASTA. The header line, whitespace, line numbering and gap characters are stripped; case does not matter; U is read as T. NC-IUB ambiguity codes (R Y S W K M B D H V N) are allowed. Up to 50,000 nt.
Reading frame
Genetic code table
Peptide (N → C)
MAIVMGR*KGAR*
One-letter amino acid sequence. An asterisk is a stop codon; an X means the codon contained ambiguity codes that span more than one amino acid, so no determination is possible.
Three-letter form
Met-Ala-Ile-Val-Met-Gly-Arg-Stop-Lys-Gly-Ala-Arg-Stop
Codons read
13 codons
Stop codons
2
First stop at codon
8
Trailing bases
0 nt
Table and caveats
Translated in forward reading frame 1 using Standard (NCBI table 1), from NCBI's genetic-code table set (revision 23 September 2024). The first codon ATG is a documented initiation codon in Standard (NCBI table 1). GenBank records default to transl_table=1 and do not display it. The standard table has documented organism-specific exceptions beyond the tables offered here. This is a literal codon-by-codon table lookup read straight through internal stops: it does not find genes, does not splice, and does not model recoding, frameshifting or readthrough. The codon-to-amino-acid mapping is exact once a table is chosen; choosing the table is a biological claim about the organism and organelle.

Background.

This codon translation calculator turns a DNA or RNA sequence into a peptide, one triplet at a time, using the genetic code table you choose from NCBI's published set. It handles the three forward reading frames, accepts FASTA and IUPAC ambiguity codes, and reports how many codons it read, how many stops it hit and where the first one is — reading straight through internal stops rather than truncating, so you can see the whole frame.

Two choices drive the answer, and both are on the page rather than hidden in defaults. The first is the reading frame. Crick, Barnett, Brenner and Watts-Tobin established in 1961 that the code is read as non-overlapping triplets from a fixed starting point, which is exactly why a one-base shift is catastrophic rather than minor. In the example loaded into the widget, frame 1 gives MAIVMGR*KGAR* and frame 2 gives WPL*WAAERVPD — twelve positions, not one of them shared.

The second choice is the table, and it matters more than most people expect. The standard code is NCBI table 1. Table 2, the vertebrate mitochondrial code, differs at four codons: AGA and AGG become stops instead of arginine, AUA becomes methionine instead of isoleucine, and UGA becomes tryptophan instead of a stop. Run the loaded example under table 2 and the internal stop at codon 8 becomes a tryptophan, turning a truncated seven-residue product into a full twelve-residue one from the identical sequence. Table 5, the invertebrate mitochondrial code, makes AGA and AGG serine instead of stops. Table 11, the bacterial, archaeal and plant plastid code, has amino acid assignments identical to table 1 and differs only in which codons are permitted to initiate — so if you select it and the peptide does not change, that is correct behaviour, not a bug.

Ambiguity codes are resolved where they can be. A codon containing an N or an R is expanded into every concrete codon it could represent; if all of them encode the same amino acid the answer is that amino acid, so CTN gives leucine and GGN gives glycine. Only when the possibilities span more than one amino acid does the position become X. That resolution is table-dependent too: MGR is unambiguously arginine under table 1, but under table 2 it spans arginine and stop, so it becomes X.

Be clear about what this is. Once you have named a table, the mapping from codon to amino acid is deterministic and exact — it is a lookup, not an estimate. Choosing the table, however, is a biological claim about the organism and the organelle, and NCBI's own notes record exceptions beyond the four tables offered here: Osawa and colleagues catalogue CUN as threonine in some yeasts and AAA as asparagine in platyhelminths and echinoderms, among others. Beyond that, this page does not find genes, does not locate the true initiation codon, does not splice introns, and does not model selenocysteine or pyrrolysine recoding, ribosomal frameshifting, stop-codon readthrough or RNA editing. It tells you what the table says. It does not tell you what a cell makes.

What is codon translation calculator?

The genetic code is the mapping from nucleotide triplets to amino acids used during translation. There are 64 possible triplets and 20 standard amino acids plus a stop signal, so the code is degenerate: most amino acids are specified by more than one codon. Leucine, serine and arginine have six codons each; methionine and tryptophan have one each. The first assignment was made by Nirenberg and Matthaei in 1961, who showed that poly(U) directs the synthesis of polyphenylalanine and therefore that UUU codes for phenylalanine.

The code is read in non-overlapping triplets from a fixed starting point — the finding of Crick, Barnett, Brenner and Watts-Tobin's 1961 frameshift experiments. That is why there are three forward reading frames for any sequence, and three more on the complementary strand, and why inserting or deleting a single base destroys everything downstream of it while inserting three leaves the rest of the frame intact.

The code is very nearly universal but not entirely. NCBI maintains a numbered set of translation tables covering the documented variants, and this page implements four of them: the standard table 1, the vertebrate mitochondrial table 2, the invertebrate mitochondrial table 5, and the bacterial, archaeal and plant plastid table 11. Each table is defined by two 64-character strings — one giving the amino acid for each codon in a fixed TCAG ordering, one marking which codons may serve as initiation codons — and both are reproduced here verbatim from NCBI's set as revised on 23 September 2024. Naming the table alongside a translated sequence is not pedantry: a mitochondrial gene translated with the standard table will appear to be riddled with premature stops that do not exist.

How to use this calculator.

  1. Paste your sequence. DNA or RNA both work, plain text or FASTA, upper or lower case; headers, whitespace, numbering and gap characters are stripped for you.
  2. Choose a reading frame. Frame 1 is right if your sequence starts at the A of a start codon — which it does if you copied a CDS feature from a database record.
  3. Choose the genetic code table. Leave it on 1 for nuclear genes of essentially any organism. Switch to 2 for vertebrate mitochondrial genes, 5 for invertebrate mitochondrial genes, 11 for bacteria, archaea and plastids.
  4. Read the peptide. An asterisk marks a stop codon and the calculator keeps going past it, so a mid-sequence asterisk in frame 1 usually means you are in the wrong frame, on the wrong strand, or using the wrong table.
  5. Check the trailing-bases count. In frame 1 it should be zero for a complete coding sequence; 1 or 2 means your sequence is not a whole number of codons.
  6. Check the interpretation line. It tells you whether the first codon is a documented initiation codon for the table you picked, which is a quick sanity check on the frame.
  7. If you need a reverse frame, reverse-complement the sequence first using the DNA to mRNA converter linked below, then translate the result in frames 1 to 3.
  8. If you see an X, the codon contained ambiguity codes spanning more than one amino acid. That is an honest 'undetermined', not an error — resolve the ambiguity in your sequence if you need a definite residue.

The formula.

aa = AAs[ 16·b₁ + 4·b₂ + b₃ ], bᵢ = index of base i in T,C,A,G

A genetic code table is stored as two 64-character strings and the codon is turned into an index. NCBI orders the 64 codons by treating T, C, A, G as digits 0 to 3: the index is 16 times the first base plus 4 times the second plus the third. So TTT is index 0, ATG is index 35, AGA is index 46 and GGG is index 63. The amino acid is simply the character at that index in the table's AAs string; the character at the same index in the Starts string is M if that codon may initiate translation, an asterisk if it is a stop, and a hyphen otherwise.

The four tables implemented here are transcribed verbatim from NCBI's set, revision 23 September 2024. Table 1 (standard) is FFLLSSSSYY**CC*WLLLLPPPPHHQQRRRRIIIMTTTTNNKKSSRRVVVVAAAADDEEGGGG. Table 2 (vertebrate mitochondrial) differs at exactly four positions: index 14 (TGA) becomes W instead of *, index 34 (ATA) becomes M instead of I, and indices 46 and 47 (AGA and AGG) become * instead of R. Table 5 differs at the same four positions but makes AGA and AGG serine rather than stops. Table 11 is character-for-character identical to table 1 in its amino acid assignments; only its Starts string differs.

Reading frames follow directly from the triplet rule. For frame f the calculator discards the first f−1 bases, then reads complete triplets: the number of codons is the floor of the remaining length divided by three, and whatever is left over, 0 or 1 or 2 bases, is reported separately rather than padded or silently dropped. A structural identity holds for every input: three times the codon count, plus the trailing bases, plus f−1, equals the sequence length exactly.

Ambiguity codes are expanded rather than guessed. A codon such as CTN represents four concrete codons — CTT, CTC, CTA, CTG — and because all four encode leucine, the answer is leucine. GGN is glycine for the same reason, MGR is arginine under table 1 because AGA, AGG, CGA and CGG are all arginine, and TAR is a stop because TAA and TAG both are. When the expansion spans more than one amino acid the position is reported as X, the IUPAC symbol for an undetermined residue. Note that this resolution depends on the table: MGR is arginine under table 1 but spans arginine and stop under table 2, so it becomes X there.

Rounding: there is none, anywhere in this calculator. Every numeric output is an exact integer count — codons read, stop codons, first-stop position, trailing bases — and every sequence output is a string. No floating-point arithmetic is performed at any stage, so there is no rounding stage to declare and no precision to lose.

Invalid input is refused rather than repaired. An empty box raises a field error. A character outside the NC-IUB nucleotide alphabet raises an error naming it, rather than being silently dropped — dropping one base would shift every codon after it and produce a plausible-looking wrong peptide. A frame that leaves fewer than three usable bases raises an error, because there is no codon to translate. Sequences longer than 50,000 nucleotides are refused.

A worked example.

Example

Take the 39-nucleotide coding sequence ATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG and translate it in frame 1. Under the standard table it splits into thirteen codons — ATG GCC ATT GTA ATG GGC CGC TGA AAG GGT GCC CGA TAG — giving MAIVMGR*KGAR*: methionine, alanine, isoleucine, valine, methionine, glycine, arginine, then a stop at codon 8, then lysine, glycine, alanine, arginine and a final stop at codon 13. Two stop codons, the first at position 8, no trailing bases. A stop in the middle of what looks like a clean open reading frame is a red flag, and it is the reason to check the table. Now switch the table to 2, the vertebrate mitochondrial code, changing nothing else. Codon 8 is TGA, which table 1 calls a stop and table 2 calls tryptophan, so the peptide becomes MAIVMGRWKGAR* — one stop instead of two, the first now at position 13, and a full twelve-residue product where the standard table saw a seven-residue fragment. Nothing about the DNA changed; the only difference is the biological claim about where the gene lives. Table 5 gives the same answer here because it also reads UGA as tryptophan, while table 11 gives MAIVMGR*KGAR*, identical to table 1, because table 11 differs from the standard code only in which codons may initiate. As a final check on the frame, the interpretation line confirms that the opening ATG is a documented initiation codon; shift to frame 2 and the peptide becomes WPL*WAAERVPD, which shares no residue at any position with the frame-1 answer and leaves two trailing bases — exactly what a wrong frame looks like.

reading Frame1
sequenceATGGCCATTGTAATGGGCCGCTGAAAGGGTGCCCGATAG
genetic Code Table2

Frequently asked questions.

Why does my mitochondrial gene appear full of premature stop codons?
Almost certainly because you translated it with the standard genetic code. In the vertebrate mitochondrial code, NCBI table 2, UGA is tryptophan rather than a stop — and UGA is common inside mitochondrial coding sequences. Translate such a gene with table 1 and every one of those tryptophans reads as a stop, so the protein looks truncated and riddled with premature terminations that do not exist in the organelle. Table 2 also reads AUA as methionine rather than isoleucine, and AGA and AGG as stops rather than arginine, so the ends of mitochondrial reading frames often look wrong under the standard code too. Switch the table selector to 2 for vertebrate mitochondrial genes or 5 for invertebrate ones. Osawa, Jukes, Watanabe and Muto's 1992 review documents the same four vertebrate changes independently of NCBI, and notes that UGA codes for tryptophan in essentially all non-plant mitochondria.
I selected table 11 and the peptide did not change. Is that a bug?
No, that is correct. NCBI's table 11, the bacterial, archaeal and plant plastid code, has amino acid assignments character-for-character identical to the standard table 1. The two differ only in their Starts strings — which codons are permitted to initiate translation. Bacteria use GUG and UUG as initiation codons far more often than eukaryotes do, and table 11 records that, but once translation has begun every codon is read exactly as the standard table reads it. So selecting table 11 changes the initiation-codon check reported in the interpretation line and nothing else. NCBI does add a note that UGA codes at low efficiency for tryptophan in Bacillus subtilis and presumably in E. coli, but that is a footnote about read-through efficiency rather than a change in the table itself, and this calculator does not model it.
How do I translate the reverse strand?
Reverse-complement the sequence first, then translate the result in frames 1, 2 and 3. This calculator deliberately offers only the three forward frames, because combining strand handling and frame handling in one control is where mistakes happen: it is far too easy to select 'reverse frame 2' and then lose track of whether the frame is counted from the original 5′ end or from the reverse-complemented one. The DNA to mRNA converter linked below returns the reverse complement as its template-strand output, so paste your sequence there as the template strand, take the coding strand it gives back, and bring that here. Between the two pages you have all six frames with no ambiguity about what was reversed when.
What does an X in the peptide mean?
It means the codon contained one or more NC-IUB ambiguity codes and the possibilities span more than one amino acid, so no determination is possible. It is an honest 'undetermined', the IUPAC symbol Xaa, not an error. The calculator does try to resolve ambiguity first: it expands the codon into every concrete triplet the symbols allow and, if all of them give the same amino acid, returns that amino acid. So CTN is leucine because all four CTx codons are leucine, GGN is glycine, MGR is arginine under the standard table because AGA, AGG, CGA and CGG are all arginine, and TAR is a stop because both TAA and TAG are. Only spans like NNN, ATN (three isoleucines and a methionine) or TAN (two tyrosines and two stops) become X. Note the resolution is table-dependent: MGR is arginine under table 1 but spans arginine and stop under table 2, so it becomes X there.
Why does the calculator keep translating past a stop codon?
Because truncating would hide information you probably need. A stop codon in the middle of a frame is diagnostic: it usually means you have the wrong reading frame, the wrong strand, the wrong genetic code table, or a genuine nonsense variant — and you cannot tell which if the output stops at the first asterisk. By reading straight through, the calculator lets you compare all three frames at a glance and spot the one with a clean run to a terminal stop. It also reports the total number of stops and the position of the first one as separate outputs, so you can see the pattern without counting asterisks. The consequence is that the peptide shown is not what a ribosome would produce from that frame; it is the full table lookup for every codon present. If you want the product of a real open reading frame, find the frame whose only stop is the last codon.
Does this tell me what protein an organism actually makes?
No, and the distinction is worth holding onto. What this page does is exact: given a table, the codon-to-amino-acid mapping is a deterministic lookup with no estimation in it, and every number it returns is an exact integer count. What it does not do is model biology. It does not find genes or identify the true initiation codon; it does not splice introns, so genomic input translates as though it were continuous coding sequence; it does not handle selenocysteine or pyrrolysine recoding, programmed ribosomal frameshifting, stop-codon readthrough or RNA editing, all of which occur and all of which break the naive table lookup. The four tables here are also a subset of NCBI's full set — Osawa and colleagues document further variants such as CUN as threonine in some yeasts and AAA as asparagine in platyhelminths and echinoderms. Treat the output as what the table says, not as what a cell does.

References& sources.

  1. [1]NCBI, 'The Genetic Codes', compiled by Elzanowski, A. & Ostell, J., National Center for Biotechnology Information Taxonomy resource. Table set last updated 23 September 2024. Source of the four translation tables implemented here, transcribed verbatim — table 1 (Standard), table 2 (Vertebrate Mitochondrial), table 5 (Invertebrate Mitochondrial) and table 11 (Bacterial, Archaeal and Plant Plastid), each as a 64-character amino-acid string plus a 64-character initiation-codon string in TCAG index order. Also the source of the listed differences from table 1, of the note that GenBank defaults to transl_table=1 without displaying it, and of the note that UGA codes at low efficiency for Trp in Bacillus subtilis. Retrieved 2026-07-29.
  2. [2]Osawa, S., Jukes, T. H., Watanabe, K. & Muto, A. (1992). 'Recent evidence for evolution of the genetic code.' Microbiological Reviews 56(1): 229–264. Independent second authority consulted as a cross-check on the mitochondrial tables: states the vertebrate mitochondrial deviations — AUA (Ile) to Met, UGA (stop) to Trp, AGA and AGG (Arg) to stop — codon for codon, in agreement with NCBI table 2, and records that UGA codes for tryptophan in essentially all non-plant mitochondria. Also the source for the on-page statement that further organism-specific exceptions exist beyond the four tables offered, including CUN as Thr in some yeasts and AAA as Asn in platyhelminths and echinoderms. Open access via PubMed Central. Retrieved and read 2026-07-29.
  3. [3]Nirenberg, M. W. & Matthaei, J. H. (1961). 'The dependence of cell-free protein synthesis in E. coli upon naturally occurring or synthetic polyribonucleotides.' Proceedings of the National Academy of Sciences USA 47(10): 1588–1602. The experiment that made the first codon assignment — poly(U) directs the synthesis of polyphenylalanine, so UUU codes for phenylalanine. Used as an independent test fixture: this calculator must translate a poly-T sequence to a poly-phenylalanine peptide under every table implemented. Listed bibliographically.
  4. [4]Crick, F. H. C., Barnett, L., Brenner, S. & Watts-Tobin, R. J. (1961). 'General nature of the genetic code for proteins.' Nature 192: 1227–1232. doi:10.1038/1921227a0. The frameshift experiments establishing that the code is read as non-overlapping triplets from a fixed starting point — the reason a reading-frame selector is necessary and the reason a single-base shift produces an unrelated peptide rather than a similar one. Listed bibliographically.
  5. [5]NC-IUB — Nomenclature Committee of the International Union of Biochemistry (1985). 'Nomenclature for incompletely specified bases in nucleic acid sequences: recommendations 1984.' European Journal of Biochemistry 150: 1–5, and simultaneously in Nucleic Acids Research 13: 3021–3030, Biochemical Journal 229: 281–286, and three further journals in 1986. The ambiguity alphabet this calculator expands when a codon contains R, Y, S, W, K, M, B, D, H, V or N. Read on the official IUBMB nomenclature site. Retrieved 2026-07-29.

In this category

Embed

Quanta Pro

Paid features are coming later.

  • All 682 calculators remain free
  • No billing is enabled
Coming soon