ForHosting KIT · Science

mRNA to protein length calculator

Know how long the protein will be from the message alone: a 300-nucleotide coding sequence holds 100 codons and gives a protein of 99 amino acids, because the stop codon adds no residue. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Mrna length
300
You get
Utr5 length
0
Utr3 length
0
Coding length
300
Codon count
100

An mRNA to protein length calculator converts the nucleotide length of a messenger RNA into the number of amino acids in the polypeptide it encodes, after excluding the stop codon that does not specify a residue. Ribosomes read the coding sequence in non-overlapping triplets: every codon except the terminal stop becomes one amino acid, and the start codon counts as methionine or formylmethionine. Enter the mRNA length in nucleotides and, if you know them, the 5' and 3' untranslated-region lengths so only the open reading frame is divided by three.

Why protein length is coding nucleotides divided by three, minus the stop

The genetic code is read in non-overlapping triplets. Messenger RNA is scanned from a start codon, almost always AUG, to the first in-frame stop codon (UAA, UAG, or UGA). Each codon between those ends specifies one amino acid; the stop codon recruits release factor and does not add a residue.

Therefore the protein length in amino acids is the number of codons in the open reading frame minus one. Equivalently, if L is the coding-sequence length in nucleotides including the stop codon, protein length is (L / 3) − 1. A 300-nucleotide coding sequence is 100 codons and encodes 99 amino acids; a 900-nucleotide coding sequence encodes 299 amino acids.

The start codon is counted: it encodes methionine, or N-formylmethionine in bacterial and organellar systems, so it is a real residue at the N-terminus even when later cleaved. Untranslated regions are not divided by three. A mature eukaryotic mRNA usually carries a 5' cap, a 5' UTR, the coding sequence, a 3' UTR, and a poly(A) tail.

Only the open reading frame is translated. If you paste a full-transcript length without subtracting UTRs, you overcount residues by one amino acid for every three untranslated nucleotides. This calculator subtracts optional 5' and 3' UTR lengths first, then requires the remaining coding length to be a positive multiple of three and at least six nucleotides (one start codon plus one stop codon).

It does not translate a sequence letter by letter, predict alternative start sites, or model frameshifts or selenocysteine recoding. It answers the textbook and annotation question: given this mRNA length, how long is the encoded protein after the stop codon is excluded.

Where an mRNA to protein length calculator earns its keep

Biology classrooms and tutoring platforms use an mRNA to protein length calculator so learners can check the classic (n / 3) − 1 worksheet without forgetting to drop the stop codon or accidentally treating the start codon as non-coding. Exam-prep generators need a deterministic oracle that rejects a length not divisible by three instead of silently flooring a frameshift that a buggy grader might accept. Failed validation does not consume balance.

Related searches for molecular-weight-to-residue estimates or codon-by-codon translation are different intents: stay on this page when the input is an mRNA nucleotide length and the output is amino-acid count after excluding the stop.

ORF annotation sanity checks

Pipelines that know a transcript length and UTR sizes confirm the expected amino-acid count before they store a translated peptide.

Why is the stop codon subtracted?

Stop codons (UAA, UAG, UGA) terminate translation and do not encode an amino acid. A coding sequence of 100 codons therefore yields 99 residues, not 100.

Does the start codon count as an amino acid?

Yes. AUG encodes methionine (or N-formylmethionine in bacteria).

What if the mRNA length is not divisible by three?

A remainder of one or two nucleotides is not a complete set of codons, so the calculator will not invent a rounded protein length.

How many amino acids does a 300-nucleotide mRNA encode?

It encodes 99 amino acids if all 300 nucleotides are coding sequence. Dividing by three gives 100 codons, and the final stop codon is left out because it does not add a residue.

Should I include the untranslated regions in the length?

Enter the full mRNA length and, if you know them, the 5' and 3' untranslated-region lengths. They are removed first, so only the open reading frame is divided by three.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/bio/mrna-to-protein-length

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/bio/mrna-to-protein-length \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mrna_length":300}'
{
  "mrna_length": 300
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "bio.mrna_to_protein_length",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_nt3000000
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Input contract, response shape, and error behaviour

When you already have the open reading frame including the stop codon, send that number alone. POST a JSON body with the required integer mrna_length (aliases nt, nucleotides, length, mrna_nt): the mRNA length in nucleotides, from 6 to 3,000,000. Optional utr5_length and utr3_length (aliases utr5, five_prime_utr and utr3, three_prime_utr) default to zero and are subtracted before the division so a full-transcript length can be reduced to coding sequence. Each field may arrive as a JSON integer or as a digit string; missing mrna_length, empty strings, non-integers, and values outside the published range fail with invalid_input naming the field. After subtraction the coding length must be at least six nucleotides and a multiple of three — otherwise the request is rejected rather than silently rounding, because a remainder of one or two bases is a frameshift or a truncated open reading frame, not a shorter protein. Those failures are not billed. On success the body echoes mrna_length, utr5_length, and utr3_length, reports coding_length and codon_count, sets stop_codons_excluded to one, and returns protein_length as the amino-acid count. formula restates protein_aa = (coding_nt / 3) - 1; formula_applied substitutes the numbers from this call. Example: mrna_length 300 yields coding_length 300, codon_count 100, and protein_length 99. The same inputs with utr5_length 50 and utr3_length 100 on an mRNA of 450 nucleotides produce the same 99-residue protein because only 300 bases remain in frame. Pair the integer with your own sequence viewer if you need residues spelled out; this endpoint solves length only and does not emit a one-letter translation.

Where an mRNA to protein length calculator earns its keep

Genome-annotation scripts and ORF scanners often know a transcript or coding-sequence length before they have a peptide string; calling a tiny parse API converts that length into an expected residue count they can pin against translated FASTA. Keep lengths inside the declared nucleotide ceiling, pin protein_length and formula_applied in tests, and you get reproducible 99-residue answers for a 300-base coding sequence across homework, LMS plugins, and annotation pipelines without standing up a translation table.

Classroom (n / 3) − 1 checks

Students enter an mRNA or coding-sequence length and compare the returned protein_length against a hand-worked stop-excluded residue count before a lab write-up.

Exam oracles and coding kata fixtures

Graders pin protein_length for multiples of three and invalid_input for frameshift lengths that are not divisible by three.

How do I convert an mRNA length into protein length in amino acids?

Send mrna_length in nucleotides (optionally subtract UTRs with utr5_length and utr3_length). The API returns protein_length = (coding_length / 3) − 1, excluding the stop codon.

What does the mRNA to protein length calculator cost?

The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →