Online Chemistry Mole Conversion Tool

Online Chemistry Mole Conversion Tool

Convert between grams, moles, and atoms/molecules for any chemical formula.

${resultData.toUnit}

`; // Display Steps stepsContainer.innerHTML = `

Calculation Steps

${resultData.steps.map(step => `

${step}

`).join('')}
`; resultsSection.classList.remove('hidden'); downloadPdfBtn.style.display = 'inline-block'; }; /** * Generates and triggers the download of a PDF report. */ const generatePdf = () => { if (!lastResult) return; const { jsPDF } = window.jspdf; const doc = new jsPDF(); doc.setFontSize(20); doc.text("Chemistry Mole Conversion Report", 105, 20, { align: 'center' }); doc.setFontSize(12); doc.setTextColor(100); doc.text(`Date: ${new Date().toLocaleDateString()}`, 14, 30); // Inputs Table doc.autoTable({ startY: 35, head: [['Input Parameter', 'Value']], body: [ ['Chemical Formula', lastResult.formula], ['Starting Quantity', `${lastResult.quantity} ${lastResult.fromUnit}`], ['Target Unit', lastResult.toUnit], ], theme: 'grid', headStyles: { fillColor: [5, 150, 105] }, // emerald-600 }); // Molar Mass Table const molarMassBody = lastResult.molarMassData.breakdown.map(b => [b.element, b.count, b.mass.toFixed(4), b.total.toFixed(4)]); molarMassBody.push([{ content: 'Total Molar Mass', colSpan: 3, styles: { fontStyle: 'bold' } }, { content: lastResult.molarMassData.total.toFixed(4), styles: { fontStyle: 'bold' } }]); doc.autoTable({ startY: doc.lastAutoTable.finalY + 10, head: [['Element', 'Count', 'Atomic Mass (g/mol)', 'Total Mass (g/mol)']], body: molarMassBody, theme: 'striped', headStyles: { fillColor: [52, 211, 153] }, // emerald-400 }); // Steps & Result const finalY = doc.lastAutoTable.finalY + 10; doc.setFontSize(14); doc.text("Calculation Steps", 14, finalY); doc.setFontSize(10); doc.setTextColor(50); doc.text(lastResult.steps, 14, finalY + 7); doc.setFontSize(16); doc.setFont('helvetica', 'bold'); doc.setTextColor(0); doc.text("Final Result", 14, finalY + 25); doc.setFillColor(236, 253, 245); // emerald-50 doc.rect(14, finalY + 28, 182, 16, 'F'); doc.setFontSize(18); doc.setTextColor(5, 150, 105); doc.text(`${lastResult.finalValue.toExponential(4)} ${lastResult.toUnit}`, 105, finalY + 37, { align: 'center' }); doc.save(`Mole_Conversion_${lastResult.formula}.pdf`); }; // --- EVENT LISTENERS --- convertBtn.addEventListener('click', handleConversion); downloadPdfBtn.addEventListener('click', generatePdf); });
Scroll to Top