摩尔质量/分子量

化学式→相对分子质量计算

415 次访问

摩尔质量 / 分子量计算器

输入化学式(支持嵌套括号、水合物 ·)

主要结果

元素组成

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🧪

化学作业验算

中学生完成《物质的量》单元作业时,常因化学式书写错误(如 H₂SO₄ 漏下标)或元素原子量记混导致计算失分。本工具支持直接输入 H₂SO₄、Ca(OH)₂ 等常见化学式,自动识别元素和下标,一秒输出精确到 0.01 的相对分子质量。学生可对照课本习题答案快速自查,避免因低级笔误反复重算。

🧑‍🔬

实验试剂配制

实验室技术员需配制 0.1 mol/L 的 NaOH 溶液 500 mL,但固体 NaOH 的纯度标签丢失,只能从已知分子量反推称量质量。本工具输入 NaOH 化学式即得 40.00 g/mol,代入公式 m = c × V × M 直接算出需称 2.00 g,省去翻手册查原子量的时间,且避免手算小数位取舍误差。

📚

竞赛题目拆解

化学竞赛生在解有机推断题时,常遇到未知结构式需先推测分子式。本工具可快速验证假设:输入 C₆H₁₂O₆ 得 180.16,若题目给出分子量 180,则葡萄糖结构成立;若题目给出 342,则需考虑二糖(如蔗糖 C₁₂H₂₂O₁₁)。工具帮助在 10 秒内排除错误结构,将精力集中在反应机理推导上。

🏭

化工投料计算

工厂生产线上需按配方投加助剂,但助剂说明书写的是质量分数,实际投料需换算为摩尔比。以聚丙烯酰胺((C₃H₅NO)ₙ)为例,单体分子量 71.08,若配方要求单体摩尔比 1:0.5,输入化学式即可快速得到每公斤对应的摩尔数,避免因换算错误导致产品交联度不达标。

📝

论文数据核验

科研人员在撰写论文的「实验部分」时,需列出所有合成产物的分子量与元素分析数据。本工具输入最终产物的化学式,自动输出理论分子量,与质谱实测值对比即可判断合成是否成功。例如 C₁₆H₁₃ClN₂O₃ 理论值 316.74,若实测 317.2,偏差在 0.5 以内可接受,省去手动查表加和的繁琐流程。

对比矩阵本工具 vs 竞品 vs 传统方法

维度本工具竞品 A (WebQC)传统方法 (手动计算)
数据隐私纯浏览器计算,化学式不上传服务器化学式发送至服务器处理依赖人工,无数据泄露风险
处理速度1 秒内出结果1-3 秒(含网络延迟)5-30 分钟(查表+计算)
离线可用完全离线,无需网络需联网完全离线
输入灵活性支持括号、水合物、复杂离子团支持常见格式,复杂结构可能报错依赖化学知识,手算易错
结果精度精确到 0.001 g/mol精确到 0.01 g/mol取决于查表精度和计算能力
收费与注册免费,无需注册免费,无注册要求免费,但需工具书或软件
适用场景学生、科研人员快速验证通用化学计算,含其他工具链教学演示、无网络环境

使用指南

上手步骤 · 输入输出 · 避坑提示

输入输出示例8 个典型场景,覆盖常规、边界与易错

输入输出说明
H2O18.01528典型常规场景:水分子,最常用的化学式
C6H12O6180.15588典型常规场景:葡萄糖,常见有机分子
NaCl58.44277典型常规场景:食盐,离子化合物
Fe2(SO4)3399.8778边界 case:含括号和角标的复杂化学式
CH3COOH60.05196边界 case:乙酸,含相同原子团的不同写法
C12H22O11342.29648易错 case:蔗糖,新手常漏算碳原子数
H2SO498.07848典型常规场景:硫酸,强酸分子
Ca(OH)274.09268边界 case:氢氧化物,括号外角标易忽略

常见错误对照8 个常踩的坑 · 错误 → 修复

1. 元素符号大小写错误

错误
co2
修复
CO2

化学式区分大小写:Co 是钴,CO 是一氧化碳;小写 'co' 会被解析为碳和氧的未知组合。

2. 括号嵌套时漏写下标数字

错误
Ca(OH)2
修复
Ca(OH)2

括号后的数字 '2' 表示整个氢氧根的数量,不写则只算一个 OH,分子量差 17。

3. 水合物中的点号写成小数点

错误
CuSO4.5H2O
修复
CuSO4·5H2O

点号 '·' 表示结晶水结合,小数点 '.' 会被当作浮点数分隔符,导致解析为 CuSO4.5 和 H2O。

4. 有机结构式中省略碳氢键

错误
CH3CH2OH
修复
C2H5OH

工具接受完整化学式而非结构简式;'CH3CH2OH' 无歧义但部分解析器只认 C2H5OH 或 C2H6O。

5. 离子电荷写成上标而非括号

错误
Fe3+
修复
Fe(3+)

上标 '+' 不是标准化学式字符;需用括号括起电荷表示离子,如 Fe(3+) 或 Fe(+3)。

6. 同位素标记混入化学式

错误
C-14H4
修复
CH4

同位素表示法(C-14)不属于标准相对分子质量计算范畴;工具只计算天然丰度平均原子量。

7. 多聚体或重复单元写完整

错误
(C6H10O5)n
修复
C6H10O5

'n' 是聚合度变量,工具无法解析;应输入一个重复单元(单体)的化学式,或指定具体 n 值。

8. 空格或特殊字符混入

错误
Na Cl
修复
NaCl

空格会被当作分隔符或非法字符,导致解析失败;化学式中不应有空格、制表符或换行。

工作原理

公式推导 · 流程图解 · 依据出处

核心公式

M = Σ (n_i × A_i)

变量说明

  • M — 相对分子质量(无量纲)
  • n_i — 元素 i 在化学式中的原子个数
  • A_i — 元素 i 的相对原子质量(取自 IUPAC)

示例

计算葡萄糖 C₆H₁₂O₆ 的相对分子质量:C 相对原子质量 12.011,H 1.008,O 15.999。M = 6×12.011 + 12×1.008 + 6×15.999 = 72.066 + 12.096 + 95.994 = 180.156。

适用范围

适用于所有由明确化学式表示的共价/离子化合物及单质。不适用于混合物、同位素丰度变异大的样品(如重水 D₂O 需用氘原子质量)。数据来源:IUPAC 2019 年标准原子量。

原理图

输入化学式如 H₂O / NaCl解析元素与原子数正则匹配 + 查表显示相对分子质量单位:g/mol输入元素符号如 Fe / O查询相对原子质量内置 IUPAC 标准表显示相对原子质量单位:g/mol(共用原子质量表)
用户输入 本地处理 输出结果

开发者集成

3 种主流语言 · 复制即用

from pyparsing import Word, nums, Optional, Group, ZeroOrMore, ParseException
import chemparse

# 直接解析化学式字符串
formula = "H2SO4"
parsed = chemparse.parse_formula(formula)
print(parsed)  # {'H': 2.0, 'S': 1.0, 'O': 4.0}

# 计算相对分子质量(使用内置原子量)
mass = chemparse.calculate_mass(formula)
print(f"{formula} 相对分子质量: {mass:.4f} g/mol")  # H2SO4 相对分子质量: 98.0785 g/mol

# 处理含括号的复杂式
complex_formula = "Ca(OH)2"
mass = chemparse.calculate_mass(complex_formula)
print(f"{complex_formula} 相对分子质量: {mass:.4f} g/mol")  # Ca(OH)2 相对分子质量: 74.0927 g/mol
package main

import (
	"fmt"
	"regexp"
	"strconv"
	"strings"
)

// 简化的原子量表(仅示例,完整版需引入外部数据)
var atomicMasses = map[string]float64{
	"H": 1.008, "He": 4.0026, "C": 12.011, "N": 14.007,
	"O": 15.999, "F": 18.998, "Na": 22.990, "S": 32.065,
	"Cl": 35.45, "Ca": 40.078, "Fe": 55.845, "Cu": 63.546,
}

func parseFormula(formula string) (map[string]float64, error) {
	re := regexp.MustCompile(`([A-Z][a-z]?)(\d*)`)
	matches := re.FindAllStringSubmatch(formula, -1)
	result := make(map[string]float64)
	for _, m := range matches {
		elem := m[1]
		count := 1.0
		if m[2] != "" {
			c, err := strconv.ParseFloat(m[2], 64)
			if err != nil {
				return nil, fmt.Errorf("invalid count: %s", m[2])
			}
			count = c
		}
		result[elem] += count
	}
	return result, nil
}

func main() {
	formula := "H2SO4"
	elements, err := parseFormula(formula)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	var mass float64
	for elem, count := range elements {
		if am, ok := atomicMasses[elem]; ok {
			mass += am * count
		} else {
			fmt.Printf("Warning: unknown element %s\n", elem)
		}
	}
	fmt.Printf("%s 相对分子质量: %.4f g/mol\n", formula, mass) // H2SO4 相对分子质量: 98.0780 g/mol
}
// 使用 chem-js 库(npm install chem-js)
const { parseFormula, calculateMass } = require('chem-js');

// 解析化学式
const formula = 'H2SO4';
const parsed = parseFormula(formula);
console.log(parsed); // { H: 2, S: 1, O: 4 }

// 计算相对分子质量
const mass = calculateMass(formula);
console.log(`${formula} 相对分子质量: ${mass.toFixed(4)} g/mol`); // H2SO4 相对分子质量: 98.0785 g/mol

// 处理带括号的复杂式
const complex = 'Fe2(SO4)3';
const complexMass = calculateMass(complex);
console.log(`${complex} 相对分子质量: ${complexMass.toFixed(4)} g/mol`); // Fe2(SO4)3 相对分子质量: 399.8778 g/mol

常见问题

8 个高频疑问

这个工具怎么用?输入化学式有什么格式要求?
直接在输入框里写化学式,比如 H2O、C6H12O6、NaCl、Fe2(SO4)3。元素符号大小写必须严格——大写字母开头、小写字母接续(Co 是钴,CO 则会被识别成一氧化碳)。数字用普通阿拉伯数字,下标自动识别。括号用半角圆括号,支持嵌套。暂时不支持带结晶水的化学式(如 CuSO4·5H2O)或离子电荷(如 SO4²⁻),遇到这类格式会提示输入错误。
算出来的结果和课本上的不一样,是不是工具不准?
先确认用的相对原子质量版本。课本常用 IUPAC 2019 年修订版(如 H=1.008,O=15.999),本工具默认采用 2021 年最新 IUPAC 标准同位素丰度加权值。部分老教材还在用 2000 年以前的近似值(如 H=1.0,O=16.0),两者差约 0.5%。另外,不同同位素组成(如重水 D2O 和普通水 H2O)分子量差异可达 10% 以上,工具只计算天然丰度下的平均值。
支持有机物的复杂结构式吗?比如带环、支链的?
不支持结构式(键线式、骨架图)。本工具只接受分子式(化学式),不解析结构异构体。例如 C6H12O6 只能算出葡萄糖/果糖的相同分子量 180.156,无法区分它们。需要输入已化简为分子式的形式,如 C2H6O 代表乙醇或甲醚,工具不判断具体是哪种。如果需要结构式→分子量,建议先用 ChemDraw 或 PubChem 查询分子式后再输入。
在手机浏览器上能用吗?需要登录或下载 APP 吗?
完全不需要登录或下载。所有计算在浏览器本地运行,不依赖服务器。手机 Chrome、Safari、Edge 等主流浏览器打开页面即可使用,输入框和结果展示已适配小屏。网络不稳定或离线状态下,只要页面加载过一次,断网后刷新仍可正常计算——因为计算代码已缓存到浏览器本地。
输入了化学式但点计算没反应,是什么原因?
最常见原因是格式错误:元素符号大小写不对(如写 h2o 或 H2O 中的数字用了全角 2)、括号不匹配(如 Fe(OH)3 写成 Fe(OH3)、或者含不支持的特殊符号(如·、→、空格)。另外,如果输入了非标准元素符号(如 Ab、Xy),工具无法识别会直接报错。建议检查:元素名首字母大写、数字半角、括号成对、无多余空格。如果仍不行,可以尝试刷新页面重新加载 JS 代码。
这个工具和百度搜索直接搜「分子量」有什么区别?
百度搜索结果的分子量数据来自其知识图谱,只支持常用物质(约 2000 种),且不可交互——输入什么算什么。本工具支持任意化学式组合(无机物、有机物、配位化合物等),实时计算。另外百度结果不显示计算过程,本工具会列出每个元素的原子数、相对原子质量及乘积,方便核对。隐私方面:百度会记录搜索关键词,本工具所有数据留在本地。
计算结果保留几位小数?为什么有的结果很长?
默认保留 3 位小数(四舍五入),符合绝大多数中学/大学化学作业要求。但内部计算采用 IUPAC 原始精度(如 O=15.999,不是 16.0),所以显示为 18.015 而非 18.0。如果结果很长(如蛋白质分子式),是因为分子量大且各元素原子质量非整数,实际数值就是这么多位。可以手动四舍五入到需要的精度,不影响工具准确性。
能算带同位素标记的化合物吗?比如 C-13 标记的葡萄糖?
暂不支持同位素标记。输入框只接受标准元素符号(C、H、O 等),无法指定质量数(如 ¹³C)。如果需要计算特定同位素丰度下的分子量,建议手动替换对应元素的相对原子质量。例如普通 C=12.011,¹³C=13.003,在输入普通分子式得到结果后,手动调整对应原子数再计算。未来版本可能增加同位素选择功能。
选择 打开 +新窗口 esc关闭