Calculator/How it works
Methodology
How the arithmetic works
A calculator you can check is worth more than one you have to trust. This page shows the formula, the rules the tool applies before it shows a number, and the worked examples it was checked against when this page was last updated.
The formula
// powder vial: concentration is computed
concentration = amount_in_vial ÷ diluent_mL // mg/mL or units/mL
// liquid vial: concentration is read from the label
volume_mL = prescribed_dose ÷ concentration
marks_raw = volume_mL × syringe.units_per_mL // 100 for U-100, 40 for U-40
marks_shown = round(marks_raw to syringe.graduation) // 1 unit, or 0.5 on the 0.3 mL syringe
Micrograms are converted to milligrams by dividing by 1,000 and by nothing else. Milligrams and units are never converted into each other; a vial in mg with a dose in units is refused as a mismatch. There is no medication-specific logic anywhere in the calculation. A preset only fills the label numbers; it cannot change the formula.
Rules the tool applies before it shows a number
- Mode and syringe are chosen by you, with no default unless a label preset sets them, as the U-40 insulin preset does. This prevents a U-40 syringe being read as U-100 before any number is typed.
- The dose is left for you to type. Presets carry the vial facts, nothing about doses.
- Dose larger than the vial: refused. No number is shown.
- Draw larger than the syringe: refused. The syringes that would fit are listed, and for a powder vial the diluent volume that would fit is offered.
- Draw smaller than the smallest mark: refused. No reading is given, and copy and share stay off. Where a diluent volume would make the draw readable, it is offered; for a labelled preset only volumes the label permits are offered, and if none works the tool says so.
- Draw larger than a liquid vial's fill volume: refused, for presets whose label states the fill and for a vial you enter as an amount in a volume. A 4 mg dose cannot come out of a 2.5 mg / 0.5 mL vial.
- Syringe scale is enforced by the label: U-40 veterinary insulin only with a U-40 syringe, U-100 insulin only with a U-100 syringe. The other syringes are disabled while that preset is selected.
- A comma is a decimal point. 0,125 is 0.125. A number like 1,000 could mean a thousand or 1.000, so it is refused and you are asked to type it without the comma.
- Unusually large dose numbers: a units check fires above 100 mg, 10,000 mcg or 20,000 units. The message says "check your units". It is not a judgement about any prescription.
- Rounding is shown. The unrounded value is printed beside the rounded one.
- The restatement line repeats every input in words, with the dose in both mg and mcg, directly below the number.
- "Draws per vial" is arithmetic, not permission. It is shown only for a vial you described yourself, worded as how many times the amount covers the dose. Labelled presets never show it, because whether a vial may be used more than once is on its label.
- The picture and the number come from the same value, so they agree.
Syringe definitions
The drawing is generated from these definitions, so the marks match the real object.
| Syringe | Units per mL | Capacity (units) | Rounds to | Minor mark | Number every | Used for |
|---|---|---|---|---|---|---|
| U-100, 1 mL | 100 | 100 | 1 unit | 2 | 10 | Most people drawing from a vial. Any draw up to 100 units. |
| U-100, 0.5 mL | 100 | 50 | 1 unit | 1 | 5 | Draws up to 50 units. |
| U-100, 0.3 mL | 100 | 30 | 0.5 unit | 0.5 | 5 | Draws up to 30 units. Best reading for very small draws. |
| U-40, 1 mL | 40 | 40 | 1 unit | 1 | 5 | Vetsulin and ProZinc for pets. Never for U-100 insulin. |
Most U-100 1 mL syringes are marked every two units, and some every unit. The calculator reads to one unit on that syringe, and when the answer is an odd number it says so in words, for example "7 sits between the 6 and 8 marks", so the number and the picture never disagree silently.
Worked examples, checked before every update
Each example below is recalculated automatically before any change to the site goes live, and a change that alters any of these answers cannot be published. The table shows the run from 2026-09-05.
| # | Input | Expected | Result | Pass |
|---|---|---|---|---|
| 1 | 10 mg vial, 2 mL diluent, 2.5 mg dose, U-100, 1 mL 10 mg vial with 2 mL added is 5 mg/mL; 2.5 mg is 0.5 mL, the 50 mark | the 50 mark (exact 50) | the 50 mark (exact 50), 5 mg/mL | pass |
| 2 | 5 mg vial, 2 mL diluent, 250 mcg dose, U-100, 1 mL A dose typed in micrograms | the 10 mark (exact 10) | the 10 mark (exact 10), 2.5 mg/mL | pass |
| 3 | 5 mg vial, 2 mL diluent, 250 mg dose, U-100, 1 mL A dose larger than the vial is refused (250 mg cannot come from a 5 mg vial) | refused: dose larger than the vial | refused: dose larger than the vial; refused: draw larger than the syringe | pass |
| 4 | 10 mg/mL, 2.5 mg dose, U-100, 1 mL Liquid vial with the concentration printed on the label | the 25 mark (exact 25) | the 25 mark (exact 25), 10 mg/mL | pass |
| 5 | 10 mg/mL, 7.5 mg dose, U-100, 0.5 mL A draw that does not fit the 0.5 mL syringe is refused, and the 1 mL syringe is suggested | refused: draw larger than the syringe | refused: draw larger than the syringe; suggests U-100, 1 mL at 75 | pass |
| 6 | 10 mg vial, 2 mL diluent, 2.5 mg dose, U-40, 1 mL The same draw on a U-40 syringe reads 40 marks per mL | the 20 mark (exact 20) | the 20 mark (exact 20), 5 mg/mL | pass |
| 7 | 10 mg vial, 3 mL diluent, 2.5 mg dose, U-100, 1 mL A concentration that does not divide evenly | the 75 mark (exact 75) | the 75 mark (exact 75), 3.333 mg/mL | pass |
| 8 | 10 mg vial, 2 mL diluent, 1.7 mg dose, U-100, 1 mL A dose between labelled strengths, used only as an arithmetic example | the 34 mark (exact 34) | the 34 mark (exact 34), 5 mg/mL | pass |
| 9 | 10 mg vial, 2 mL diluent, 0.26 mg dose, U-100, 0.3 mL On the 0.3 mL syringe the answer is read to the half mark; the exact value is shown | the 5 mark (exact 5.2) | the 5 mark (exact 5.2), 5 mg/mL | pass |
| 10 | 10 mg vial, 2 mL diluent, 0.02 mg dose, U-100, 1 mL A draw below the smallest mark is refused, with a liquid volume that would make it readable | refused: below the smallest mark | refused: below the smallest mark; suggests 5 mL | pass |
| 11 | 5000 units vial, 5 mL diluent, 500 units dose, U-100, 1 mL HCG in units: 5,000 units with 5 mL is 1,000 units per mL | the 50 mark (exact 50) | the 50 mark (exact 50), 1000 units/mL | pass |
| 12 | 10 units vial, 1 mL diluent, 2 units dose, U-100, 1 mL A vial and dose both in units | the 20 mark (exact 20) | the 20 mark (exact 20), 10 units/mL | pass |
| 13 | 10 mg vial, 2.5 mL diluent, 2.5 mg dose, U-100, 1 mL A comma is a decimal point; 62.5 rounds up to 63 | the 63 mark (exact 62.5) | the 63 mark (exact 62.5), 4 mg/mL | pass |
| 14 | 10 mg vial, 2 mL diluent, 150 mg dose, U-100, 1 mL A dose that exceeds the vial and is also an unusually large number: both messages | refused: dose larger than the vial; plus a check-your-units warning | refused: dose larger than the vial; refused: draw larger than the syringe; warning: plausibility | pass |
| 15 | 10 mg vial, 2 mL diluent, 500 units dose, U-100, 1 mL A vial in mg with a dose in units is refused | refused: mg and units mixed | refused: mg and units mixed | pass |
| 16 | 10 mg vial, 2 mL diluent, 2500 mcg dose, U-100, 1 mL The first example typed in micrograms gives the same answer | the 50 mark (exact 50) | the 50 mark (exact 50), 5 mg/mL | pass |
| 17 | 100 units/mL, 12 units dose, U-100, 1 mL U-100 insulin on a U-100 syringe: the mark equals the dose | the 12 mark (exact 12) | the 12 mark (exact 12), 100 units/mL | pass |
| 18 | 10 mg vial, 2 mL diluent, 2.5 mg dose, U-100, 0.3 mL A 50-unit draw does not fit the 0.3 mL syringe | refused: draw larger than the syringe | refused: draw larger than the syringe | pass |
| 19 | 5 mg/mL, 4 mg dose, U-100, 1 mL A liquid vial that holds 0.5 mL cannot give a 0.8 mL dose | refused: more than the vial holds | refused: more than the vial holds | pass |
| 20 | 5 mg/mL, 2.5 mg dose, U-100, 1 mL A liquid single-dose vial: the whole vial is the labelled draw | the 50 mark (exact 50) | the 50 mark (exact 50), 5 mg/mL | pass |
| 21 | 4 mg vial, 1 mL diluent, 0.02 mg dose, U-100, 1 mL When the label permits only 0.5 to 1 mL, no other volume is suggested | refused: below the smallest mark | refused: below the smallest mark; no diluent suggested | pass |
| 22 | 5 mg vial, 1 mL diluent, 0.02 mg dose, U-100, 1 mL When the label permits 1 to 5 mL, the suggestion stays inside that range | refused: below the smallest mark | refused: below the smallest mark; suggests 3 mL | pass |
| 23 | 1 mg vial, 1 mL diluent, 0.125 mg dose, U-100, 1 mL A decimal comma with a leading zero: 0,125 is 0.125 | the 13 mark (exact 12.5) | the 13 mark (exact 12.5), 1 mg/mL | pass |
| 24 | 10 mg/mL, 0.35 mg dose, U-100, 1 mL 3.5 units rounds up to 4, not down to 3 | the 4 mark (exact 3.5) | the 4 mark (exact 3.5), 10 mg/mL | pass |
Beyond these fixed examples, thousands of random valid inputs are checked against three rules on the same run: working the mark back through the syringe scale and the concentration returns the dose; rounding never moves a value by more than half a mark; and a dose typed in micrograms gives the same answer as the same dose in milligrams.
What the arithmetic does not do
It does not know whether a dose is appropriate, whether a medication is right for anyone, whether a diluent is the correct one, or whether a preparation is still good. It cannot see your label; it can only restate what you typed so that you can compare. Every decision about what to inject belongs to the prescriber and the pharmacist.
For educators
Reconstitution arithmetic is a standard nursing and pharmacy exam topic, and this tool is built the way a classroom worked example is: every intermediate shown, every rule stated. Instructors are welcome to link to it. The sources page lists every label the presets were read from.
- Arithmetic: checked against 24 worked examples, last run 2026-09-05. See the examples
- Vial presets: read from current FDA labels, checked 2026-09-04. Sources
- Clinical review: none. No clinician reviews this site; the presets are read from the labels above and the result is arithmetic. Confirm every draw with your pharmacist.
- Report a problem