Free · No sign-up · Shopify-ready CSV

Your products, ready for Shopify.

Extract product details from compatible online stores and prepare Shopify-ready CSV files without manual copy-pasting. Paste a product link, a whole collection, or an entire store — titles, prices, sale prices, SKUs, variants and images included.

Extract products

Works with Shopify, WooCommerce, Salesforce stores (Khaadi, Sapphire), Kamalia-type custom stores, and most sites with standard product data.

Tip: for a whole category, tick the collection box. For a whole store, tick whole-store mode and paste only the homepage — the tool tries the store's own product data first, then its sitemap and category pages (up to 100 products).

Your links are fetched on demand — nothing is stored. See the privacy policy.
Starting…

    Results

    Editing Price here sets that price for all variants of the product. Remove a row with ✕ if you don't want it in the CSV.

    ImageTitleVendorPriceSourceDetails
    • 96
      Shopify CSV columns, exactly matched
    • 5+
      Platform families supported
    • 100
      Products per collection or store
    • Free
      No account, no watermark, no catch

    How it works

    Three steps between someone else's storefront and your Shopify admin — no spreadsheets to fix by hand.

    1

    Paste links

    Single products, a collection page, or a shop homepage for the whole store. Add an optional price markup and your own vendor name.

    2

    Review & edit

    Every product appears with its photo, price, variants and image count. Fix titles and prices inline, remove anything you don't want.

    3

    Import to Shopify

    Download the CSV and upload it at Shopify Admin → Products → Import. It uses the exact format Shopify itself exports, so there's no column mapping.

    Supported platforms

    The extractor detects the platform from the page itself — not from the URL shape — and uses each store's own product data wherever the store exposes it. That design choice is why results are exact rather than guessed: where a store publishes structured product data, the tool reads that data; where it does not, the tool falls back to careful page parsing and tells you, per product, where the data came from.

    Shopify stores

    Best results. Products are read from Shopify's own product data — exact variants, SKUs, prices, sale prices and every image. Collections and whole stores included.

    variants + SKUs collections whole store

    WooCommerce / WordPress

    Real WordPress shops are read through the built-in WooCommerce Store API — a whole store's catalogue in one go, with sale prices and attribute variants.

    Store API categories bulk mode

    Salesforce Commerce Cloud

    Big-brand Demandware stores like Khaadi and Sapphire. The tool reads their product tiles, follows their pagination, then opens each product page for sizes, photos and the full description.

    Khaadi Sapphire auto pagination

    Custom Laravel / Vue stores

    Custom shops like Kamalia Khaddar load products from their own data feed — the tool reads that feed directly, SKUs and “was” prices included, even though the pages look empty.

    data feed Kamalia whole store

    Almost any other website

    If a product page carries standard structured data (JSON-LD), OpenGraph tags, or a normal price-and-gallery layout, the generic extractor reads it — including strikethrough sale prices.

    JSON-LD OpenGraph sale prices

    Straight into Shopify

    Output is Shopify-only, on purpose: one perfect format instead of five half-right ones. 96 columns, variant rows, extra-image rows, markets — identical to Shopify's own export.

    96 columns no mapping step

    Why sellers use it

    Hours become minutes

    Manually re-typing a 100-product catalogue takes a weekend. Extracting it takes one paste, a short wait, and a single import.

    Sale prices done right

    Compare-at (“was”) prices are hunted down — data feeds, strikethrough prices, sale markup — and written to the right Shopify column, so your discounts show properly.

    Variants & images included

    Sizes and colours become real Shopify variants, and every product photo is carried over as an image row, in order.

    Your prices, your margin

    Add a markup percentage, set a compare-at markup for strikethrough pricing, override the vendor, and stamp your own tags on every product.

    Private by design

    Links you paste are fetched on demand to build your CSV. No account, no stored catalogue, no tracking of what you extract.

    Honest about limits

    Some stores block automated tools or hide everything behind JavaScript. When that happens you get a clear message per product — never invented data.

    Importing your CSV into Shopify, step by step

    Once you have downloaded shopify-products.csv, sign in to your Shopify admin and go to Products. Click Import (top right), then Add file and choose the CSV you downloaded. Shopify shows a preview of the first products. There is no column-mapping step — the file already uses Shopify's own export format, all 96 columns, in Shopify's order. Click Upload and continue, review the summary, then Import products.

    When the import finishes, open a few products and check the details that matter: price and compare-at price, photos in order, variants (sizes and colours), stock quantity and status. If a product already exists in your store with the same handle, Shopify treats the row as an update to that product rather than creating a duplicate. Handles are generated from titles and de-duplicated automatically (winter-khaddi, winter-khaddi-2…), so a series that shares one name still imports as separate products.

    Our standing advice, learned from real imports: import one or two products first as a test. Check them in your admin — title, price, photos, variants — and only then run the big batch. For large imports, set Status to draft in the tool so nothing goes live before you have reviewed it, then publish in bulk from Shopify when you are happy. The extractor guide walks through every mode and setting in the same step-by-step style.

    What the settings do

    Vendor override replaces the source shop's name with your own on every product; leave it blank to keep the source brand. Extra tags are added to every product, which makes imported batches easy to find and filter in Shopify later. Price markup % is added to every price — 20 turns a price of 1,000 into 1,200 — while 0 keeps source prices exactly. Compare-at markup % is different: leave it blank to keep the source “was” price, or fill it in to calculate a compare-at price from your final selling price, so products display as on sale. Default inventory quantity and variant weight fill the gaps the source store does not publish, and Status and Published match the exact fields in Shopify's own export.

    Prices are copied as-is in the source site's currency — the tool does not convert currencies. If you extract from a store priced in US dollars into a store that sells in Pakistani rupees, adjust the prices in the results table before downloading, or edit them in Shopify afterwards. Some brands also serve different regional storefronts by visitor location, so the prices you receive are the prices that storefront shows.

    Limitations, stated plainly

    No extractor can read every store on the internet, and we would rather tell you that up front than let you discover it mid-import. Some stores block automated tools outright (you will see an HTTP 403 message), some rate-limit them (HTTP 429 — wait a few minutes and retry with a smaller batch), and some render all of their product data with JavaScript in a way that leaves nothing readable in the page. Prices can also be hidden behind logins or missing from a store's public data entirely. In every one of those cases the tool reports a clear, per-product reason, keeps going with the rest of your batch, and never invents a price, title or image to fill the gap. A product that fails is a product you can type in manually — not a silent error buried in your catalogue.

    Only extract products you have the right to sell

    This tool is built for legitimate jobs: migrating your own store, adding a supplier's catalogue with their permission, or rebuilding your own listings on Shopify. Product descriptions, photography and branding belong to their source stores. Only extract products you own or have the right to sell, respect the source store's terms, and — where copy is protected — use the extracted data as a starting point and write your own descriptions. Calculatorexe is not affiliated with Shopify Inc.; “Shopify” is used here only to describe the import format the CSV targets.

    Extractor questions

    Is the Shopify Product Extractor really free?

    Yes. The tool is free to use, with no account, no watermark and no per-product fee. It runs on free-tier hosting and is supported by advertising once the site is approved for AdSense.

    Which websites can I extract products from?

    Shopify stores, WooCommerce (WordPress) stores, Salesforce Commerce Cloud stores such as Khaadi and Sapphire, custom Laravel/Vue stores such as Kamalia Khaddar, and most other sites that publish standard product data (JSON-LD or OpenGraph) or a normal price-and-gallery layout. The platform is detected from the page itself, not the URL.

    What exactly do I get in the CSV?

    A Shopify import file with the exact 96 columns of Shopify’s own product export: title, description (HTML), vendor, type, tags, variants with SKUs, prices and compare-at prices, inventory defaults, every product image as image rows, and all six store markets marked as included. Upload it at Shopify Admin → Products → Import with no column mapping.

    Do you store the products I extract?

    No. The links you paste are fetched on demand by our server to build your CSV in your browser. We keep no account, no product database and no copy of your CSV. The full detail is in our privacy policy.

    Why did one of my products fail?

    The results table always says why. The usual reasons: the store blocks automated tools (HTTP 403), rate-limits them (429), hides the price behind a login, or loads everything with JavaScript that leaves no product data in the page. A failed product never invents data — and it never stops the rest of your batch.

    More answers — including grade and GPA questions — are on the full FAQ page, and the complete walkthrough is in the extractor guide.