Translation Map
Display protein translations above a DNA sequence with ruler and complementary strand

Raw DNA sequence or one or more FASTA sequences. Non-letter characters are removed automatically. Input limit: 500,000,000 characters.

💡 Quick Summary

Translation Map accepts a DNA sequence and returns a textual map displaying protein translations above the sense strand and the complementary strand below. The reading frame can be set to 1, 2, 3, all three simultaneously, or uppercase-only for exon/intron sequences. Supports the full IUPAC alphabet and multiple genetic codes.

📋 How to Use
  1. Paste a raw DNA sequence or one or more FASTA sequences into the textarea. Input limit: 500,000,000 characters.
  2. Set bases per line — how many bases to display on each row (30, 45, 60, 75, 90, or 105).
  3. Choose a reading frame: All three shows frames 1, 2, and 3 simultaneously above the sequence; Frame 1/2/3 shows only the selected frame; Uppercase only translates only uppercase runs (useful for GenBank exon/intron sequences where exons are uppercase and introns are lowercase).
  4. Select the genetic code used for translation (default: Standard).
  5. Click Run. Each amino acid is printed at the position of the first base of its codon. Stop codons appear as *. Use Copy to copy the plain-text output.
🧮 Formulas & Logic
Frame 1
Translation starts at base 1. First codon = bases 1–3.
Frame 2
Translation starts at base 2. First codon = bases 2–4.
Frame 3
Translation starts at base 3. First codon = bases 3–5.
Uppercase only
Only consecutive uppercase letter runs are translated. Each run is treated as its own reading frame starting at position 0 within that run.
📊 Result Interpretation
Translation rows

Amino acid single-letter codes appear at the first base of each codon. Gaps (spaces) fill the other two codon positions.

Stop codon (*)

An asterisk marks a stop codon (UAA, UAG, or UGA in the standard code). Open reading frames end at stops.

Sense strand

The middle row shows the input sequence left to right, 5′ to 3′.

Ruler row

The row of numbers between the sense and antisense strands shows the absolute 1-based position every 10 bases.

Antisense strand

The bottom row shows the complementary strand written 3′ to 5′ beneath the sense strand.

X residue

X appears for any codon that does not match the selected genetic code (e.g. degenerate IUPAC bases that span multiple possible amino acids).

🔬 Applications
  • Visualising all three reading frames of a gene or coding sequence simultaneously
  • Locating open reading frames by spotting runs of amino acids between stop codons
  • Checking the reading frame around a cloning site or insertion point
  • Translating exon-only regions of a mixed-case GenBank feature-extracted sequence
  • Generating annotated translation figures for publications or lab notebooks
⚠️ Common Mistakes & Warnings
Non-IUPAC characters are stripped

Numbers, spaces, and non-letter characters are removed before translation. Only IUPAC nucleotide letters are retained.

All three frames are forward-strand only

The "All three" option shows frames 1, 2, and 3 on the sense (input) strand only. To find ORFs on the reverse strand, first reverse-complement the sequence.

Uppercase mode requires mixed-case input

The "Uppercase only" reading frame is only useful when your sequence contains a mixture of uppercase (exon) and lowercase (intron) letters, as exported by tools like GenBank Feature Extractor.

❓ Frequently Asked Questions

How do I find open reading frames in the output?
Look for stretches of amino acid letters between consecutive stop codons (*) in any of the three translation rows. Long gaps between stops in the same row indicate potential ORFs. For a dedicated ORF finder with length filtering, use the ORF Finder tool.
Why does "Uppercase only" show gaps in the translation?
Lowercase letters are treated as non-coding and produce spaces in the translation row. Only runs of consecutive uppercase letters are translated, each run starting fresh at frame 1. This is intentional for GenBank-style exon/intron sequences.
What does X mean in the translation?
X is written when a codon contains ambiguous IUPAC bases that could encode more than one amino acid, or when no matching codon is found in the selected genetic code table.
Can I translate the reverse strand?
Not directly — Translation Map always translates the sense (input) strand. To translate the reverse strand, first run your sequence through the Reverse Complement tool, then paste the result here.