Neatbo.

Formula composition and declared-weight mass

Count every repeated element in neutral formulas, then calculate each contribution and the total using a versioned weight table or your explicit decimal weights.

Browser-local processingInputNeutral formulas / declared weight CSVOutputExact JSON / CSV / originalsUp to 1 MiB per file · File limit: 1
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop it here

Files stay on this device. Your originals stay unchanged.

Up to 1 MiB per file · File limit: 1

    0 characters · 0 bytes
    Options

    Complete the required options first. You can keep the defaults for the rest.

    Custom replaces the complete table; there is no automatic fixed-table fallback. Clear the custom-weight field before returning to the fixed table.

    Preparing the tool…

    Before you start

    Choose the weight source before calculating. Exact decimal arithmetic preserves the declared numbers; it does not make them a sample-specific or isotopic physical mass.

    How to use this tool

    1. Enter one supported neutral formula per line or select a UTF-8 formula file. The selected file supplies the source.
    2. Select the versioned fixed table or Custom table; in Custom paste every used element and its positive decimal weight.
    3. Inspect the formula/contribution counts and weight source, then download the complete report, composition CSV, weight table and exact originals.

    Supported inputs and limits

    Formula source: strict UTF-8, optional retained BOM, up to1MiB,10,000 nonblank physical lines and4,096 UTF-8 bytes per formula. Only outer ASCII spaces/tabs are trimmed. CRLF/LF/CR and byte/character source spans remain in the complete report.

    Exactly109 elements H–Mt; case-sensitive ASCII symbols, positive integer counts without leading zero, nonempty nested ()/[] up todepth16. Each count token≤32 digits; intermediate element/atom counts≤512 digits. Dot . or · is a hydrate separator with an optional positive factor after it, never decimal stoichiometry.

    Charges, isotope labels/D/T, initial coefficients, states/macros/expressions, fractional counts and Ds–Og are Unsupported. Unknown symbols, empty groups, zero/negative weights, duplicate or missing used weights are rejected atomically.

    Fixed table: molmass2026.8.15 exact source decimal literals,109 rows, source SHA and full BSD-3-Clause notice. Custom mode replaces the whole table without fallback: header symbol,weight and at most109 unique rows, unsigned positive plain decimals up to6 integer/32 fractional digits, strict unquoted two-field lines, total≤16KiB. Leave the custom field empty in fixed mode.

    At most100,000 element contributions and500,000 work units; all original files, JSON and CSV combined≤32MiB. Input, formula dimensions, count growth, work and output apply together; some combinations reach a guard before their other dimensions reach a maximum.

    The table shows the first200 contributions and first2,000 UTF-16 units per long cell. Copy is a report preview above20,000 characters; all downloads remain complete. Calculated sums are exact strings; importing CSV numbers into a spreadsheet may round them. Declared average/database values do not represent physical exact mass, isotope spectra or sample uncertainty.

    Worked example

    Example input

    CO2OHC5H18COO
    Example options
    {"params":{"mode":"custom"},"secondary":"symbol,weight\r\nC,12.01\r\nH,1.008\r\nO,16\r\n"}

    Example output

    C7 / H19 / O5; totalExact=183.222

    When something does not work

    Check case, groups, hydrate dots, the explicit mode and every custom weight. Clear custom weights before choosing the fixed table. Reduce the complete input/output or work size if a limit is reached; errors and cancellation return no partial files. Rerun the same supported original.

    Frequently asked questions

    Why can the same formula have different totals?

    The result depends on the declared table. CO2OHC5H18COO has C7/H19/O5: C12.01/H1.008/O16 gives183.222; the original code’s12.0107/1.00794/15.9994 gives183.22276; the fixed table gives183.223084.

    Does exact decimal mean physical exact mass?

    No. Integer counts and arithmetic over the chosen finite decimal values are exact. Actual average atomic weights depend on samples; this tool does not infer isotopes, distributions, uncertainty, purity or reactions.

    Documentation & further reading

    Related tools