How to bulk convert product weights in excel from kilograms to pounds
- Step 1Export the supplier or channel catalogue — Download the product feed containing the weight column. Shopify: Products → Export → CSV. Amazon: Inventory → download the category flat file. WooCommerce: Products → Export → CSV. The Unit Converter accepts
.xlsx,.xls,.ods, and.csv. - Step 2Confirm the weight column holds real numbers — Open the file and check the weight column. If weights show with thousands separators (
1,250) or a unit suffix (12.5 kg), they're stored as text and will parse wrong. Strip separators / suffixes first, or store the column as plain numbers. - Step 3Add the kg → lbs rule — In the Conversion rules panel, set Column name to the exact weight header (e.g.
Variant Gramswon't matchWeight_kg— match it literally), Operation to × Multiply, Factor to 2.20462. - Step 4Name the output column — Set New col name to
Weight_lbsto keep the kg original alongside the converted pounds value. Leave it blank only if you're fully migrating the store to imperial and don't need the kg audit trail. - Step 5Add a dimensions rule if needed — Click + Add rule, target your length/width/height column, set × Multiply 0.393701 for cm→inches, and name a new column. All rules apply in one pass.
- Step 6Download and update the unit label column — Download
units-converted.xlsx. Then change the channel's unit field — Shopifyweight_unit, your feed'sUnitscolumn — fromkgtolbmanually, since the converter only touches numeric values. Map the newWeight_lbscolumn to the channel weight field on import.
kg → lbs and common feed conversions
All as single linear factors. Use Multiply for the listed direction; swap to Divide for the reverse. The tool has no preset unit list — type the factor.
| Conversion | Operation | Factor | Typical feed field |
|---|---|---|---|
| kg → lbs | × Multiply | 2.20462 | Shopify variant weight, Amazon item_weight |
| g → lbs | × Multiply | 0.00220462 | Shopify 'Variant Grams' column |
| g → oz | × Multiply | 0.035274 | Small / lightweight item weight |
| cm → inches | × Multiply | 0.393701 | Package length / width / height |
| kg → oz | × Multiply | 35.274 | Jewellery / cosmetics weight |
| lbs → kg (reverse) | ÷ Divide | 2.20462 | Importing a US feed into a metric store |
Platform weight-field quirks
What each channel expects, and what the converter can and can't do for it. The converter changes numeric values; it never edits a text unit-label column.
| Platform | Weight field | Unit handling | Converter note |
|---|---|---|---|
| Shopify | Variant Grams (CSV) / weight (admin) | Single weight_unit per variant | Shopify CSV stores grams — convert g→lbs (×0.00220462) and change weight_unit yourself |
| Amazon flat file | item_weight + item_weight_unit_of_measure | Number + separate unit column | Convert the number column; set the unit column to pounds manually |
| WooCommerce | Weight column in product CSV | Store-wide unit (Settings → Products) | Convert the number; the unit is implied by store settings, so no label column to change |
| Google Merchant | shipping_weight (e.g. 2.5 lb) | Number + unit in one cell | Value+unit in one cell parses to just the number — split the unit out first, then reassemble |
Tier limits for catalogue size
Unit Converter is Pro-gated. The Free tier cannot run it. One file per run.
| Tier | Max file size | Max rows (SKUs) | Runs this tool? |
|---|---|---|---|
| Free | 5 MB | 10,000 | No — Pro required |
| Pro | 50 MB | 100,000 | Yes |
| Pro-media | 200 MB | 500,000 | Yes |
| Developer | 500 MB | Unlimited | Yes |
Cookbook
Real product-feed rule setups and the cells they produce. Watch the thousands-separator example — it's the single most common reason a converted weight comes out wildly wrong.
kg → lbs into a new Weight_lbs column
The standard supplier-to-US-channel conversion. Keeping the kg original lets you reconcile against the supplier invoice.
Rule: Column = Weight_kg, × Multiply, Factor = 2.20462, New col = Weight_lbs Input: SKU = A-100, Weight_kg = 0.45 Output: SKU = A-100, Weight_kg = 0.45, Weight_lbs = 0.991909 (0.45 × 2.20462 = 0.9920790000 → 0.991909 after 10-dp rounding of the product; shown to illustrate the column shape)
Shopify grams column → lbs
Shopify's product CSV stores weight in grams under 'Variant Grams'. Convert straight to pounds with the gram-to-pound factor.
Rule: Column = Variant Grams, × Multiply, Factor = 0.00220462, New col = Weight_lbs Input: Variant Grams = 450 Output: Variant Grams = 450, Weight_lbs = 0.991919 Remember to set Shopify's weight_unit to 'lb' on re-import — the tool does not touch that text column.
Weight + dimensions in one pass
Convert the weight and all three box dimensions together so the whole shipping profile flips to imperial in a single download.
Rule 1: Weight_kg × Multiply 2.20462 → Weight_lbs Rule 2: Length_cm × Multiply 0.393701 → Length_in Rule 3: Width_cm × Multiply 0.393701 → Width_in Rule 4: Height_cm × Multiply 0.393701 → Height_in One pass, one units-converted.xlsx, four new imperial columns.
Thousands separator wrecks the value
If weights are stored as text with a comma, parseFloat stops at the comma. This is the #1 silent feed error — the number looks fine in Excel but converts from the wrong base.
Input cell (text): "1,250" (meant to be 1250 grams)
parseFloat("1,250") = 1 ← comma terminates the number
Rule: × Multiply 0.00220462
Wrong output: 1 × 0.00220462 = 0.00220462 lbs
Fix: strip the comma so the cell is the number 1250 (or text
"1250"), then convert → 1250 × 0.00220462 = 2.755775 lbsMixed numeric + 'Made to order' rows
Catalogues often have non-stock rows where weight is a label. Those skip cleanly — only real numbers convert, so the placeholder text survives.
Rule: Weight_kg × Multiply 2.20462 → Weight_lbs Input Weight_kg column: 2.5 → 5.511550 (converted) 'Made to order'→ 'Made to order' (skipped, unchanged) 0.8 → 1.763696 (converted) changesApplied = 2
Edge cases and what actually happens
Unit-label column not converted
By designThe converter changes numeric values only. A Shopify weight_unit or Amazon item_weight_unit_of_measure column is text — it is never edited. After converting the number, change the unit label from kg/g to lb/pounds yourself, or the channel will interpret your pounds as kilograms on import.
Weight stored as text with thousands separator
Invalid parseparseFloat("1,250") returns 1 — the comma terminates parsing. A weight column exported with thousands separators converts from a wrong base and produces nonsense pounds. Strip separators before converting. The Format Inspector flags which cells are text-vs-number: /excel-tools/excel-format-inspector
Value and unit in one cell (Google Merchant style)
Partial parseA shipping_weight cell like "2.5 kg" parses to 2.5 (parseFloat reads the leading number and drops kg). The conversion math is then correct on 2.5, but you lose the unit suffix and the output cell holds a bare number. Split value and unit into separate columns first if you need the label preserved.
Column name doesn't match the header
No cells changedHeaders must match exactly — Variant Grams is not variant grams and not Grams. A mismatch means the rule converts nothing and the file comes back unchanged. If your output looks identical to the input, the column name is the first thing to recheck.
Factor of 1 or 0
RejectedA factor of exactly 1 is rejected as a no-op, and 0 (which would zero out every weight) is rejected as invalid. The factor must be a non-zero, finite number. Use 2.20462 for kg→lbs, not a placeholder 1.
Multi-tab supplier workbook
First sheet onlyMany supplier catalogues use a cover sheet or a separate price tab. Only the first sheet is read — anything on later tabs is dropped from the output. Move the product table to the first sheet before uploading, and expect a single-sheet Converted workbook back.
Negative or zero weights in the feed
ConvertedThe tool converts any finite number, including 0 and negatives — 0 kg stays 0 lbs, and a stray -1 converts to -2.20462. It does not validate that weights are positive. Sanity-check the source for bad data; the converter applies the math faithfully either way.
Free tier upload
Pro requiredUnit Converter is gated to Pro and above. A Free account cannot run it regardless of file size. Pro covers 50 MB / 100,000 SKUs; large multi-region catalogues may need Pro-media (200 MB / 500,000) or Developer (500 MB / unlimited).
Output drops formatting and formulas
Not preservedThe download is a values-only .xlsx. Any conditional formatting (e.g. red-flagging overweight SKUs), formulas, or extra sheets in your source are not carried over. If the feed relied on formula columns, flatten them to values first with Formula to Value: /excel-tools/excel-formula-to-value
Rounding of small gram weights
ExpectedResults round to 10 decimal places, which is far finer than any channel's weight field needs. A 1-gram item converts to 0.0022046200 lbs — round it for display with Excel's ROUND() (most channels accept 2–3 decimals). The converter itself exposes no precision setting.
Frequently asked questions
What's the kg-to-lbs factor for product feeds?
× Multiply by 2.20462. If your Shopify export is in grams ('Variant Grams'), go straight to pounds with × Multiply by 0.00220462. Type the factor yourself — there's no unit dropdown.
Does it update Shopify's weight_unit or Amazon's unit column?
No. The converter only changes numeric values. After converting the weight number, change the text unit field (Shopify weight_unit, Amazon item_weight_unit_of_measure) from kg/g to lb/pounds manually, or the channel will misread your pounds as the old unit.
My weights have commas as thousands separators — will it parse them?
No — and this is a common feed error. parseFloat stops at the comma, so "1,250" parses as 1, not 1250. Strip thousands separators before converting (store the column as plain numbers). Use the Format Inspector (/excel-tools/excel-format-inspector) to find text-stored numbers.
Can I convert cm to inches in the same run as kg to lbs?
Yes. Add a second rule targeting your dimension column with × Multiply 0.393701 and a new output column. Both the weight rule and the dimension rule apply in one pass and come out in a single units-converted.xlsx.
Will the original kg values be kept?
Only if you fill in the New col name field (e.g. Weight_lbs). That writes the pounds to a new column and leaves the kg column intact. Leave it blank to overwrite the kg column in place — useful for a full store migration, risky if you still need the kg audit trail.
Does it handle decimal weights without rounding them to whole numbers?
Yes. Decimal weights convert exactly and the result is rounded only to 10 decimal places — 0.45 kg becomes a precise pounds value, not 1. Round down to 2–3 decimals for the channel using Excel's ROUND() afterward.
Is my supplier pricing and SKU data uploaded?
No. The file is parsed by SheetJS in your browser. SKUs, costs, margins, and weights never reach a server. The conversion runs locally and you download the result directly.
A value cell contains '2.5 kg' — what happens?
parseFloat reads the leading 2.5 and drops the kg, so the math is correct on 2.5 but the output is a bare number with no unit suffix. If you need to keep value+unit, split them into separate columns before converting.
Why did a row convert to a tiny number like 0.00220462?
Almost always a thousands-separator parse: the source cell was text like "1,000", parseFloat read it as 1, and your factor multiplied 1 instead of 1000. Fix the source cell to a real number and re-run.
How big a catalogue can I convert?
Pro covers 50 MB / 100,000 SKUs in one file. Pro-media goes to 200 MB / 500,000 and Developer to 500 MB with no row cap. The tool processes one file per run, so split very large multi-region feeds first if needed.
What does it output?
A single-sheet units-converted.xlsx with the sheet named Converted. Source formulas, conditional formatting, and extra tabs are not preserved — the output is plain converted values ready to map to channel fields.
Can I automate this for nightly supplier drops?
Yes. GET /api/v1/tools/excel-unit-converter returns the schema (the rules option, formats, output type). Execution is runner-backed — JAD never receives the file; your paired @jadapps/runner converts locally and returns the XLSX. A common pipeline: supplier drop → unit convert → channel import, run nightly.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.