Every article can have several images. Image number 1 is the **main image**: it is shown in the article overview and sent to marketplaces first. If an article has no main image, it counts as "without image".

You can add images in several ways:

- upload them in the article,
- load them from a web address (URL),
- upload many images at once, matched by file name,
- import them with an import template,
- take them over automatically from your online shop's product feed.

![Screenshot: Images tab of an article with several uploaded images in a row, image 1 marked as main image](/products/images/article-images-tab.png)

## Before you start

- The article exists, see [Create an article](/products/create-article.md).
- You need the permission to edit articles for the **Images** (*Bilder*) tab. The bulk upload, the shop-feed import and **Renew upload** need extra permissions – ask your administrator.
- **Image sizes:** X-Sitter always stores a small preview (thumbnail, max. 400 px). Depending on your company setting, it also stores a full-size version (up to 1400 px) in the cloud storage. If the full-size option is not available to you, contact X-Sitter support.

## Upload images in the article

1. Open the article (green pencil in the overview) and choose the **Images** (*Bilder*) tab.
2. Click **Search Product Images** (*Produktbilder suchen*) or drag files onto **Drop files here** (*Dateien hier ablegen*).
3. Click **Upload all** (*Alle hochladen*), or use **Start** / **Cancel** (*Abbruch*) for single images.
4. Each image gets the next free number.

![Screenshot: Upload area of the Images tab with two files queued and the "Upload all" button](/products/images/article-images-upload.png)

### Change the order

Drag and drop the images into the order you want. You see *"The new sorting has been saved"* (*Die neue Sortierung wurde gespeichert*). The first image becomes the main image.

### Delete an image

Click **Delete** (*Löschen*) under the image. Both the thumbnail and the full-size version of this image are removed.

## Load an image from a URL

1. In the **Images** tab, click **Load image via URL** (*Bild via URL laden*).
2. Enter the address of the image (**Url to the graphic**).
3. Choose the **Storage option** (*Speicheroption*): **Save thumbnail only** (*Nur Thumbnail speichern*) or **Save thumbnail and full-size version** (*Thumbnail und große Version speichern*).
4. Click **Get Graphic** (*Grafik holen*). You see *"The graphic has loaded successfully"*.

Allowed formats: JPEG, PNG, GIF and WEBP.

![Screenshot: Dialog "Load image via URL" with URL field and storage option](/products/images/article-images-url-dialog.png)

## Upload many images at once

Use this page to upload images for many articles in one go. X-Sitter recognises the article by the file name.

1. Go to **Catalogue › Import › Upload product images** (*Katalog › Import › Produktbilder hochladen*).
2. Drag images or ZIP files onto the drop area (*Bilder oder ZIP-Dateien hierher ziehen*) or click **Dateien wählen** (choose files).
3. Under **Vorhandene Bilder der Artikel** (existing images of the articles), choose:
   - **behalten – neue Bilder hinten anhängen**: keep existing images and add the new ones at the end, or
   - **ersetzen – erst alle vorhandenen Bilder löschen**: delete all existing images of each matched article first.
4. Under **Speichern als** (save as), choose **thumbnail only** or **full size + thumbnail**. The option is pre-selected with your company setting. If the cloud storage is not set up, the full-size option is disabled (*S3-Speicher ist nicht eingerichtet*).
5. Click **Test run** (*Probelauf*) to check which files match an article without saving anything.
6. Click **Import Images** (*Bilder importieren*).

![Screenshot: Bulk upload page with the drop area, the options "keep / replace" and "save as", and the buttons Test run and Import Images](/products/images/article-images-bulk-upload.png)

### How the files must be named

| File name | Result |
|---|---|
| `VL1224.jpg` | Main image of the article with the article number VL1224 |
| `VL1224_2.jpg`, `VL1224_3.png` | Further images in this order |

- Allowed: JPG, JPEG, PNG, GIF, WEBP – also inside ZIP files (subfolders do not matter).
- Large images are made smaller before the upload.
- Files without a matching article of the selected company are skipped and listed in the report.

The **report** on the right shows each file with the article, the image number and the result. You can download it as **CSV**.

![Screenshot: Report table of the bulk upload with columns File, Item, Image no. and Result](/products/images/article-images-bulk-report.png)

## Import images with an import template

In an article import template you can map a column with an image URL to the field **Main image** (*Hauptbild*). The image is then stored as image number 1 of the article. See [Import templates](/products/import-templates.md).

## Take over images from a shop feed

If your articles already have images in an online shop, X-Sitter can take them over automatically. Only articles **without an image** get one; existing images stay. The image becomes the main image.

### Set up the feed

The feed is set up as the job **Produktbilder aus Shop-Feed** (product images from shop feed) under [Jobs & connections](/administration/jobs-and-connections.md):

| Field | Meaning |
|---|---|
| **Adresse des Feeds** (feed address) | Where X-Sitter reads the feed, see the formats below |
| **Format** | The type of feed |
| **Feld mit der Artikelnummer** (field with the article number) | Optional, BigCommerce only: name of a custom field in your shop that holds the article number. Empty = the SKU of product and variants is used |

Supported formats:

- **Google Merchant (XML)** – the address of the XML file. The article number comes from the ID (or MPN), the image from the image link.
- **CSV (Artikelnummer, Bild-URL)** – the address of a CSV file with the columns "SKU/Artikelnummer" and "Image/Bild" (otherwise the first two columns). Separator: comma, semicolon or tab.
- **WordPress (REST-API)** – for websites that show their products as a separate post type. Enter any address of the website or directly the list of the post type. The article number is the first word with a digit in the title; the image is the featured image.
- **BigCommerce (GraphQL)** – the address of the shop.

### Matching rules

- The article number in the feed must match the article number in X-Sitter.
- Purely numeric numbers are also found with or without leading zeros (`18075401` finds `0018075401`).
- Codes made of two numbers are treated the same with comma or dot (`78.56` finds `78,56`).
- Images are always stored in the logistician's catalogue. A job set up for a client gives the image to that client's articles in the logistician's catalogue.

### Run the import

1. Go to **Catalogue › Import › Produktbilder aus Shop-Feeds** (*Katalog › Import › Produktbilder aus Shop-Feeds*).
2. Pick the feed in the drop-down.
3. Optional: tick **Test run (check only)** (*Probelauf (nur prüfen)*) to only check.
4. Click **Abgleich starten** (start matching).

The run works in steps and continues on its own (*Läuft – Seite …*). Click **Anhalten** to stop it. The table shows new images and problems; totals per status are shown above it. Active feeds are also matched automatically every night between 1 and 5 a.m. The **last match** of each feed is shown on the page.

## Renew the image upload to a marketplace

If a marketplace shows outdated images, open the **Images** tab and click **(name of the marketplace) - Renew upload** (*Upload erneuern*). You see *"The upload has been flagged"*. The images are then sent to this marketplace again.

After every upload, X-Sitter automatically marks the article so that connected marketplaces reload its images.

## Troubleshooting

| Message | Cause | Solution |
|---|---|---|
| *The image could not be downloaded* (*Das Bild konnte nicht heruntergeladen werden*) | The URL cannot be reached | Check the URL in your browser |
| *This is not a graph* (*Das ist keine Grafik*) | The file is not JPG, PNG, GIF or WEBP | Use a direct link to an image file |
| *Bild Nummer … liegt nicht als Original auf dem Server vor. Bitte neu hochladen.* | Sorting needs the full-size version, but only a thumbnail exists | Upload the image again with a full-size version |
| *The order has not been changed* | Nothing was moved | – |
| **kein Artikel mit dieser Nummer** (no article with this number) – shop feed | The number from the feed does not exist for this company | Align the article numbers in the shop and in X-Sitter |
| **Nummer mehrfach vergeben** (number used more than once) – shop feed | The feed runs for the logistician and several clients use this number | Set up the job for the client instead |
| **Bild nicht ladbar / keine gültige Bilddatei** – shop feed | The image link in the feed is broken | Check the feed in your shop |
| The feed answered HTTP 404 / no answer | Wrong address or the shop is not reachable | Check the address in your browser |
| WordPress: the site has several types | The website has several own post types and none is named in the address | Enter the list of the product type in the job, e.g. `https://example.com/wp-json/wp/v2/<type>` |
| BigCommerce: the shop page has no token | The shop is not a BigCommerce shop with a standard theme | Check the format, or use a CSV or Google feed of the shop |
