Skip to content
πŸ› οΈToolsShed

Medication Dose Calculator

Calculate weight-based medication doses using mg/kg dosing for common drugs.

Common Medications (Reference)

MedicationDose (mg/kg)Max Dose
Acetaminophen (Paracetamol)151000mg per dose, 75mg/kg/day
Ibuprofen10400mg per dose, 40mg/kg/day
Amoxicillin25500mg per dose
Azithromycin10500mg per dose

Disclaimer

This tool is for educational purposes only. Always consult a qualified healthcare professional before administering any medication.

About this tool

The Medication Dose Calculator is a quick reference tool designed to help healthcare professionals, caregivers, and parents calculate weight-based medication doses accurately and safely. Weight-based dosing (measured in mg/kg) is the standard approach for many medications, especially in pediatrics and critical care, where precise calculations prevent both underdosing and overdosing.

To use the calculator, simply enter the patient's weight in kilograms, select the medication from the available list, and the tool will instantly display the recommended dose in milligrams. The tool includes common medications with established dosing guidelines, making it ideal for quick verification in clinical settings, emergency situations, or when preparing medications at home under medical supervision.

This calculator is most beneficial for nurses, doctors, pharmacists, and caregivers working with children or patients requiring weight-based medications. While it provides accurate calculations based on standard dosing protocols, it should always be verified against the latest medication guidelines and the prescriber's orders, and it is not a substitute for professional medical judgment.

Frequently Asked Questions

Code Implementation

def calculate_dose(weight_kg: float, dose_per_kg: float,
                    frequency: int, max_single_dose: float = None,
                    max_daily_dose: float = None) -> dict:
    """
    Calculate weight-based medication dose.
    weight_kg: patient weight in kg
    dose_per_kg: dose in mg per kg
    frequency: number of doses per day
    max_single_dose: optional cap per dose in mg
    max_daily_dose: optional cap per day in mg
    """
    single_dose = weight_kg * dose_per_kg
    if max_single_dose:
        single_dose = min(single_dose, max_single_dose)

    daily_dose = single_dose * frequency
    if max_daily_dose:
        daily_dose = min(daily_dose, max_daily_dose)
        single_dose = daily_dose / frequency  # re-split if daily capped

    return {
        "single_dose_mg": round(single_dose, 2),
        "daily_dose_mg":  round(daily_dose, 2),
        "frequency":      frequency,
        "doses_per_day":  f"Every {24 // frequency} hours",
    }

# Example: amoxicillin 25 mg/kg TID, max 500 mg/dose
r = calculate_dose(
    weight_kg=30,
    dose_per_kg=25,
    frequency=3,
    max_single_dose=500
)
print(f"Single Dose : {r['single_dose_mg']} mg")
print(f"Daily Dose  : {r['daily_dose_mg']} mg")
print(f"Frequency   : {r['frequency']}x/day ({r['doses_per_day']})")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.