Oligo nmol to µg calculator
Convert an oligo's nanomole yield into micrograms from its real base composition: 1 nmol of the DNA oligo ATCG, with a molecular weight of 1252.81 g/mol, is 1.25281 µg. Enter the sequence or the base counts, for DNA or RNA. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Nmol
- 1
- Sequence
- ATCG
- Polymer
- Dna
- Length
- 4
- A
- 1
- C
- 1
Molecular biology labs routinely order and resuspend synthetic oligonucleotides by nanomole yield, then need the equivalent dry mass in micrograms for stock concentration, spectrophotometer checks, and reaction stoichiometry. This oligo nanomoles to micrograms calculator derives free-acid molecular weight from DNA or RNA base composition—either a letter sequence or explicit A, C, G, T, or U counts—then applies the standard conversion mass in micrograms equals nanomoles times molecular weight divided by one thousand. Default chemistry is single-stranded DNA with deoxyribonucleotide residue masses plus a fixed terminal hydroxyl contribution; switch polymer to RNA for ribonucleotide masses and uracil instead of thymine.
Why nmol to µg needs base composition molecular weight
Nanomoles measure amount of substance; micrograms measure mass. Converting one into the other requires molecular weight in grams per mole, because mass equals moles times molecular weight and a nanomole is one billionth of a mole. For a pure monodisperse oligonucleotide, molecular weight is not an arbitrary constant: it is the sum of residue contributions from each base plus terminal chemistry.
Two primers with the same length can differ by hundreds of daltons when GC content changes, so a length-only rule of thumb such as three hundred thirty grams per mole per base is only an estimate. This calculator refuses that approximation as the primary path and instead asks for composition: either the full sequence string or integer counts of adenine, cytosine, guanine, and thymine for DNA, or uracil for RNA.
Residue masses follow a free-acid single-stranded convention widely used on oligo product sheets: for DNA, adenine three hundred thirteen point two one, cytosine two hundred eighty-nine point one eight, guanine three hundred twenty-nine point two one, thymine three hundred four point two, plus seventeen point zero one for the five-prime hydrogen and three-prime hydroxyl termini. RNA substitutes ribonucleotide masses and uracil for thymine.
Once molecular weight is known, micrograms equal nanomoles times molecular weight divided by one thousand—the factor that converts grams per mole and nanomoles into micrograms without intermediate scientific notation. Vendors sometimes report salt form or modification mass separately; this capability covers unmodified free-acid backbone only, which is the right first step before adding dye or phosphate deltas in a notebook.
Students comparing hand arithmetic to vendor MW fields, automation engineers filling stock sheets, and educators building deterministically graded labs all need that explicit composition-first contract rather than a silent average base mass.
Practical workflows, limits, and related search intent
Example checks that match the arithmetic: one nanomole of the four-base DNA oligo ATCG yields molecular weight one thousand two hundred fifty-two point eight one grams per mole and about one point two five micrograms; ten nanomoles of a twenty-mer with five of each DNA base scale linearly with nmol while MW stays fixed. Prefer sequence when you already have the string so transcription errors in four count fields cannot desynchronize GC content. Prefer counts when the oligo is proprietary or only composition statistics are available.
Keep sequences free of ambiguity codes and modifications tokens; strip them before calling.
What you can do with it
Primer resuspension and stock sheets
Convert vendor nmol yield and ordered DNA sequence into micrograms so bench staff can plan water volume for a target µg/µL stock without spreadsheet residue tables.
Teaching oligo stoichiometry
Show students why GC-rich oligos weigh more per nanomole than AT-rich ones by comparing composition-derived MW and µg side by side on the same nmol amount.
FAQ
How do I convert oligo nanomoles to micrograms?
Send positive nmol plus either a sequence or A/C/G/T (DNA) or A/C/G/U (RNA) counts.
What molecular weight formula is used?
RNA: 329.21·A + 305.18·C + 345.21·G + 306.17·U + 17.01. Modifications and salt forms are not included.
Can I enter a sequence instead of base counts?
Whitespace is ignored; letters must match the polymer alphabet. When sequence is present it defines the counts used for MW.
What if nmol is zero or composition is empty?
Nanomoles must be finite and positive, and at least one base is required so MW and mass are well-defined.
Why not just use an average mass per base?
Two primers of the same length can differ by hundreds of daltons when their GC content changes, so a length-only rule is only an estimate. The calculator adds the mass of each base, for example 313.21 for adenine in DNA, plus the ends.
Related tools
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/bio/oligo-nmol-to-ug \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"nmol":5,"sequence":"ATCGATCG"}'const res = await fetch("https://api.kit.forhosting.com/bio/oligo-nmol-to-ug", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"nmol": 5,
"sequence": "ATCGATCG"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/oligo-nmol-to-ug",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"nmol": 5,
"sequence": "ATCGATCG"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/oligo-nmol-to-ug", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"nmol":5,"sequence":"ATCGATCG"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"nmol":5,"sequence":"ATCGATCG"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/oligo-nmol-to-ug", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"nmol": 5,
"sequence": "ATCGATCG"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.oligo_nmol_to_ug",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Empty composition, non-positive nanomoles, and alphabet mismatches fail with invalid_input rather than inventing a mass.
Input contract, response fields, and validation rules
When sequence is present it takes precedence and count fields are ignored for the mass path. Length is the sum of counts and must be at least one base. Numeric outputs use fixed twelve-decimal rounding for stable goldens across runtimes. Failures include missing or non-finite nmol, non-positive nmol, empty composition after whitespace strip, non-integer or negative counts, unsupported polymer labels, and letters outside A, C, G, T, U. Invalid input is not billed. POST a JSON body with required nmol as a finite positive number (aliases nanomoles, amount_nmol, n_mol). Provide composition either as sequence—a string of nucleotide letters with optional whitespace, aliases seq, oligo, bases—or as non-negative integer counts a, c, g, and for DNA t, for RNA u (aliases such as count_a and adenine are accepted). Optional polymer defaults to dna and also accepts rna (aliases kind, backbone, chemistry). DNA sequences and counts may not include uracil; RNA may not include thymine; mixed alphabets fail with a clear invalid_input message so a T/U mix-up never silently maps bases. On success the response echoes nmol and polymer, integer length and base counts a, c, g, t, u, residue_masses for the chosen chemistry, terminal_mass, molecular_weight_g_per_mol, mass_ug as the primary conversion result, formula restating the MW and mass identities, message as a short English summary, and sequence when a sequence was supplied. Pricing for successful work is a flat $0.002 with unit item.
Practical workflows, limits, and related search intent
Typical lab workflow: read the synthesizer yield in nanomoles from the tube label or COA, paste the ordered sequence or paste base counts from a design spreadsheet, choose DNA or RNA, and record mass_ug for resuspension volume planning when you target a stock concentration in micrograms per microlitre. This landing targets people searching for an oligo nanomoles to micrograms calculator, primer nmol to ug conversion, or oligonucleotide mass from molecular weight online; it is not a double-stranded duplex MW tool, not a phosphorothioate or dye-modified mass adder, and not a spectrophotometer OD two sixty to concentration converter—though mass_ug is often the next input to those notebooks. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately send zero counts. Round-trip verification is straightforward: recompute residue sum plus seventeen point zero one, multiply by nmol, divide by one thousand, and confirm equality with mass_ug within the published rounding, then confirm that clearing sequence and all counts flips the response from success to invalid_input.
Integration use cases
LIMS and synthesis COA automation
Batch-convert COA nanomole amounts and base counts into mass_ug fields for inventory, shipping labels, and deterministic QA fixtures in manufacturing pipelines.
Technical questions
What does the oligo nmol to µg calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.