PHPackages                             bigbridge/product-import - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bigbridge/product-import

ActiveMagento2-module[Utility &amp; Helpers](/categories/utility)

bigbridge/product-import
========================

Fast product import library for Magento 2

1.8.0(5mo ago)124117.0k—2.4%33[3 issues](https://github.com/bigbridge-nl/product-import/issues)[1 PRs](https://github.com/bigbridge-nl/product-import/pulls)MITPHPPHP ^8.1

Since Sep 10Pushed 5mo ago22 watchersCompare

[ Source](https://github.com/bigbridge-nl/product-import)[ Packagist](https://packagist.org/packages/bigbridge/product-import)[ RSS](/packages/bigbridge-product-import/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (44)Used By (0)

BigBridge Product Import
========================

[](#bigbridge-product-import)

Hi! My name is Patrick van Bergen. I created this library because I needed product import to be fast.

This library imports product data into Magento 2 via direct database queries. It has these main features

- A programming library to import products
- An CLI command for product import via XML file
- A web API service for product import via Post Request with XML
- A tool to update url\_rewrites

Note
----

[](#note)

The aim of this library is speed. If you find that Magento 2's product importer is too slow, consider using this library.

Experiment with the library in a safe webshop. Make sure to create a database backup before you start.

Sample code
-----------

[](#sample-code)

Let me show you a piece of code to give you an impression what it is like to use this library:

```
    $importer = $factory->createImporter($config);

    foreach ($lines as $i => $line) {

        $product = new SimpleProduct($line[1]);

        // global eav attributes
        $global = $product->global();
        $global->setName($line[0]);
        $global->setPrice($line[2]);

        // German eav attributes
        $german = $product->storeView('de_store');
        $german->setName($line[3]);
        $german->setPrice($line[4]);

        $importer->importSimpleProduct($product);
    }

    // process any remaining products in the pipeline
    $importer->flush();

```

Continue to read [the full documentation](doc/importer.md)

Installation
------------

[](#installation)

```
composer require bigbridge/product-import

```

Requirements
------------

[](#requirements)

- For Magento 2.1+ Opensource Edition
- Requires &gt;= PHP 7.0
- Input in UTF-8 (Magento standard)
- Unix family system

Features of the Import Library
------------------------------

[](#features-of-the-import-library)

- insert, update and delete products
- product identification based on product sku or id
- all product types (simple, configurable, grouped, bundle, downloadable, and virtual)
- automatic category generation
- automatic select and multiselect attribute option creation
- import of images from file or url
- image caching (local and HTTP cache)
- custom options
- unique url\_key generation
- url\_rewrite creation
- whitespace trimming (spaces, tabs, newlines) from all fields, except free field texts
- attribute deletion
- input validation (data type, requiredness, and length restrictions)
- product type changes
- importing links to products have not been imported yet
- dry run (no products are written to the database)
- multi-source inventory (msi)
- weee taxes
- removes the url\_path attribute of imported products
- M2EPro notification

Continue to read about [all importer features](doc/importer.md)

XML file import tool
--------------------

[](#xml-file-import-tool)

The XML import tool allows you to import product data with an XML file. It is fast and has a fixed, low memory footprint.

```
    bin/magento bigbridge:product:import

```

Continue to read about [XML file import](doc/xml-file-import.md)

Web API import service
----------------------

[](#web-api-import-service)

The web api service performs the same service as the file import tool. But it is accessible via an XML REST call.

```
/rest/V1/bigbridge/products

```

It is a POST call and the XML is passed in the request body.

Continue to read about [XML webapi import](doc/xml-webapi-import.md)

The url\_rewrite tool
---------------------

[](#the-url_rewrite-tool)

Since Magento's url\_rewrite table can get corrupted in many ways, it is necessary to have a tool to fix it.

This tool has the following features:

- Fast, it writes queries directly.
- It imposes no downtime for the webshop
- It updates the url\_rewrite and catalog\_url\_rewrite\_product\_category per product
- It respects Magento's configuration setting "Create Permanent Redirect for URLs if URL Key Changed"
- It does not delete existing 301 url\_rewrite redirects
- It does not overwrite existing non-product rewrites
- Updating single store views is possible
- Products with a visibility of "not-visible-individually" get no url\_rewrite (since they would have no use; this is Magento 2 policy)

```
    bin/magento bigbridge:product:urlrewrite

```

Continue to read about [the Url Rewrite Tool](doc/url-rewrite-tool.md)

Changes to Magento
------------------

[](#changes-to-magento)

The extension adds an index CATALOG\_PRODUCT\_ENTITY\_VARCHAR\_ATTRIBUTE\_ID\_VALUE to catalog\_product\_entity\_varchar because it drastically speeds up checking for duplicate url\_keys.

Thanks to
---------

[](#thanks-to)

Thanks to Marco de Vries for telling me about the intricacies of product import.

Thanks to Martijn van Berkel for first volunteering to use the importer in production environments and for providing valuable feedback.

This project owes a great deal of ideas and inspiration from Magmi / Magento 1 [Magmi](https://github.com/dweeves/magmi-git)

###  Health Score

61

—

FairBetter than 99% of packages

Maintenance68

Regular maintenance activity

Popularity49

Moderate usage in the ecosystem

Community27

Small or concentrated contributor base

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 75.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~342 days

Total

43

Last Release

178d ago

PHP version history (3 changes)1.0.0PHP ~7.0

1.7.6PHP ~7.0|^8.0

1.8.0PHP ^8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/884d59fad69aa1a04c2cdb1bcdc0f6519a3f83abd7c8dad8957c46f2ac517a05?d=identicon)[garfix](/maintainers/garfix)

---

Top Contributors

[![garfix](https://avatars.githubusercontent.com/u/5256409?v=4)](https://github.com/garfix "garfix (357 commits)")[![patrick-bigbridge](https://avatars.githubusercontent.com/u/17122199?v=4)](https://github.com/patrick-bigbridge "patrick-bigbridge (77 commits)")[![chrisastley](https://avatars.githubusercontent.com/u/400344?v=4)](https://github.com/chrisastley "chrisastley (10 commits)")[![jgarciasantana](https://avatars.githubusercontent.com/u/46958553?v=4)](https://github.com/jgarciasantana "jgarciasantana (7 commits)")[![antoninobonumore](https://avatars.githubusercontent.com/u/1431493?v=4)](https://github.com/antoninobonumore "antoninobonumore (4 commits)")[![hostep](https://avatars.githubusercontent.com/u/85479?v=4)](https://github.com/hostep "hostep (4 commits)")[![pingiun](https://avatars.githubusercontent.com/u/1576660?v=4)](https://github.com/pingiun "pingiun (4 commits)")[![fazed](https://avatars.githubusercontent.com/u/5490437?v=4)](https://github.com/fazed "fazed (3 commits)")[![mrdevries](https://avatars.githubusercontent.com/u/2996380?v=4)](https://github.com/mrdevries "mrdevries (2 commits)")[![martijn-bigbridge](https://avatars.githubusercontent.com/u/33222025?v=4)](https://github.com/martijn-bigbridge "martijn-bigbridge (2 commits)")[![haelbichalex](https://avatars.githubusercontent.com/u/15052352?v=4)](https://github.com/haelbichalex "haelbichalex (1 commits)")[![gjportegies](https://avatars.githubusercontent.com/u/6707410?v=4)](https://github.com/gjportegies "gjportegies (1 commits)")[![tristanhofman](https://avatars.githubusercontent.com/u/26116975?v=4)](https://github.com/tristanhofman "tristanhofman (1 commits)")[![xgerhard](https://avatars.githubusercontent.com/u/13732765?v=4)](https://github.com/xgerhard "xgerhard (1 commits)")[![stennkool](https://avatars.githubusercontent.com/u/1598340?v=4)](https://github.com/stennkool "stennkool (1 commits)")

---

Tags

importmagento2products

### Embed Badge

![Health badge](/badges/bigbridge-product-import/health.svg)

```
[![Health](https://phpackages.com/badges/bigbridge-product-import/health.svg)](https://phpackages.com/packages/bigbridge-product-import)
```

###  Alternatives

[romanzipp/laravel-seo

Laravel SEO package

352184.4k6](/packages/romanzipp-laravel-seo)[typo3/cms-styleguide

TYPO3 extension to showcase TYPO3 Backend capabilities

106727.6k17](/packages/typo3-cms-styleguide)[winter/storm

Winter CMS Storm Library

46239.3k6](/packages/winter-storm)[saumini/count

A Laravel Nova field.

30516.2k1](/packages/saumini-count)[krayin/krayin-package-generator

Krayin Package Generator

2196.7k2](/packages/krayin-krayin-package-generator)[roots/acorn-post-types

Simple post types and taxonomies using Extended CPTs for Acorn.

1221.8k](/packages/roots-acorn-post-types)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
