Absorbance transmittance converter
An absorbance of 1 means 10 %T: the converter moves readings between A, OD, T, %T and mAU through the rule that absorbance is minus the base-ten log of transmittance, ready for cuvette checks, OD600 curves and HPLC traces. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 1
- From
- A
- To
- %T
- Result
- 10 %T
- Converted
- 10
- Absorbance
- 1
- Transmittance
- 0.1
An absorbance transmittance converter turns one spectrophotometric reading into another unit without spreadsheet logarithms or mental powers of ten. Enter a finite value plus a source unit and a target unit among absorbance (A or AU), optical density (OD), fractional transmittance (T), percent transmittance (%T), and milli-absorbance (mAU); the tool returns the converted result, the absorbance hub value, the equivalent transmittance and percent transmittance, optical density, and step-by-step substitution lines you can paste into a lab notebook, method SOP, or quality report. Analytical chemists checking cuvette blanks, biotech QC teams reconciling OD600 growth curves with percent-transmission charts, food labs converting filter photometer %T to absorbance for beer-law calibrations, and students verifying textbook Beer-Lambert examples all need the same deterministic path.
Which optical units are supported and how conversion works
This capability converts among five optical measures that dominate spectrophotometry, microbiology density readings, colorimetry, and teaching materials. Absorbance A is the common-log hub defined by A equals minus log base ten of fractional transmittance T, so a sample that transmits one tenth of the incident intensity has A equal to one.
Optical density OD is treated as numerically equal to absorbance for standard laboratory usage, which is how OD600 and similar labels are reported on UV-Vis instruments even when the detector path is not a true optical path-length density in the strictest physics sense.
Fractional transmittance T is the unitless ratio I over I zero and must be strictly positive because the logarithm is undefined at zero; percent transmittance %T is one hundred times T, so fifty percent transmission is T equal to zero point five and A approximately equal to zero point three zero one zero. Milli-absorbance units mAU scale absorbance by one thousand, which is common on HPLC detectors and low-level UV traces where full AU would be awkward decimals.
English names such as absorbance, optical density, transmittance, percent transmittance, milliabsorbance, and symbols A, AU, OD, T, %T, and mAU resolve to the same canonical tokens. Same-unit requests succeed and return the input magnitude with a short message that no change of unit was required.
Practical tips, limits, and when to use this landing
Prefer sending bare numbers for value when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without percent signs embedded in the value field—put the percent idea in the unit, not in the number. Classic teaching pairs include absorbance one equals ten percent transmittance, absorbance two equals one percent transmittance, fifty percent transmittance equals about zero point three zero one absorbance, and five hundred mAU equals zero point five A equals zero point five OD.
Round-trip checks are straightforward: convert A to %T and %T back to A and confirm you recover the original within the published twelve-decimal rounding. Stay inside the absolute range so intermediate powers of ten cannot overflow; for extremely opaque samples prefer reporting high absorbance rather than tiny floating transmittance that underflows.
This landing targets people searching for an absorbance to transmittance converter, percent transmittance to absorbance, optical density converter, OD to %T, or mAU to AU conversion online; it is not a color space converter, not a lux or illuminance tool, not a path-length Beer-Lambert concentration solver (that needs epsilon and path length), and not a reflectance or opacity calculator for paints.
What you can do with it
Spectrophotometer A to %T reports
QC labs read absorbance on UV-Vis instruments but customer certificates still list percent transmittance; analysts convert with exact Beer-Lambert factors before release.
OD600 growth curves and archives
Biotech teams store culture density as OD and must compare historical %T charts; pipelines convert OD to transmittance and mAU without spreadsheet log drift.
HPLC detector mAU teaching problems
Students and instructors convert milli-absorbance peaks to AU, OD, and %T with deterministic step strings for homework and method development notebooks.
FAQ
Which absorbance and transmittance units can I convert?
Absorbance (A/AU), optical density (OD), fractional transmittance (T), percent transmittance (%T), and milli-absorbance (mAU). English names such as absorbance, optical density, and percent transmittance are accepted.
Is the absorbance transmittance converter free?
The browser tool is free and runs locally.
How do I convert absorbance to percent transmittance?
Raise ten to the power of minus the absorbance to get T, then multiply by 100. An absorbance of 1 gives 10 %T and an absorbance of 2 gives 1 %T.
Why can't transmittance be zero?
Because absorbance is the negative logarithm of transmittance, and the logarithm of zero is undefined. Values in T or %T must therefore be greater than zero, or the converter refuses them.
Is optical density the same as absorbance?
Here, yes: OD is treated as numerically equal to absorbance, which is how OD600 and similar readings appear on UV-Vis instruments. So 0.5 A is also 0.5 OD.
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/conv/absorbance-transmittance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1,"from":"A","to":"%T"}'const res = await fetch("https://api.kit.forhosting.com/conv/absorbance-transmittance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1,
"from": "A",
"to": "%T"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/absorbance-transmittance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1,
"from": "A",
"to": "%T"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/absorbance-transmittance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1,"from":"A","to":"%T"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1,"from":"A","to":"%T"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/absorbance-transmittance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 1,
"from": "A",
"to": "%T"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.absorbance_transmittance",
"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
Unknown unit names fail with a clear invalid_input error instead of silent wrong factors.
Which optical units are supported and how conversion works
If the name is not on the supported list—for example lux, candela, reflectance without definition, or a free-text typo—the solver rejects the request with invalid_input naming the bad field and listing example units, so clients never guess whether a typo produced a wrong number. Absolute magnitude must stay within the published one-trillion limit so intermediate products remain finite in IEEE double precision on the Worker and in the browser.
How to call the API and read the response
Value must be a finite number or a strict numeric string within absolute limits of one trillion. For source units T and %T the value must be strictly positive. Wire this into LIMS adapters, plate-reader export pipelines, chromatography peak tables, or batch jobs that already hold one optical reading and only need a second unit for display, regulatory comparison, or archive migration without shipping floating conversion tables in every app binary. Send a JSON body with three required fields: value (aliases amount, n, and reading), from (aliases from_unit, unit_from, and source), and to (aliases to_unit, unit_to, and target). From and to must resolve to supported unit names after alias normalization. On success the response echoes the rounded input value, canonical from and to labels, result and converted set to the same rounded target magnitude, absorbance as the hub A, transmittance as fractional T, percent_transmittance as %T, optical_density equal to A, unit as the target label, formula as the short Beer-Lambert equation string, message as an English summary, steps as ordered substitution lines, and supported_units as the full list of canonical identifiers. Failed validation—missing fields, non-finite numbers, non-positive transmittance, values outside absolute limits, or an unknown unit name—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and when to use this landing
Normalize display labels on your side if you need locale-specific spellings—this API always returns short canonical tokens such as A, OD, T, %T, and mAU so automated tests stay stable. Prefer this capability when both endpoints are among the five supported optical units and you need deterministic factors and step strings; if you need concentration from absorbance via molar absorptivity, use a dedicated Beer-Lambert concentration calculator instead. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when clients deliberately probe unknown unit names.
Technical questions
What happens if I send an unknown unit name?
The API returns invalid_input, names the bad field, and lists example supported units. The failed task is not charged.
How are absorbance and percent transmittance related?
A = −log₁₀(T) and %T = 100·T, so A = 2 − log₁₀(%T) and %T = 100·10^(−A). OD equals A; mAU = 1000·A.
Are results deterministic across browser and API?
Yes. Handler and widget share the same lib.js solve path with fixed Beer-Lambert relations and twelve-decimal rounding, so golden examples match production.