Chrome extension interface for collecting order labels

Chrome Extension for Avito Order Label Collection

Published: February 11, 2026 Updated: February 19, 2026

Tags

chrome-extensionavitologisticsworkflow

Stack

JavaScriptChrome Extension APIDOM parsingJsBarcodeQRCode

GitHub: https://github.com/vbel254/order-labels-collector

An unofficial tool (not affiliated with Avito) for sellers on Avito: collects orders with the status “Send the order”, retrieves tracking numbers, and prepares label cards with barcodes/QR codes for printing.

As of early 2026, Avito’s public API for personal accounts does not offer a convenient order management workflow; order-related methods are designed for business accounts (sole proprietors/legal entities).

The extension was created to simplify a repetitive manual task: when shipping in bulk, avoid opening each order one by one just to look up tracking codes individually.

Ideal for sellers who ship a large number of orders every day.

What it does

  • Scans the current page https://www.avito.ru/orders* and collects orders with the status “Send the order”.
  • Displays results in a popup: item name, delivery service, tracking number, and label code.
  • Opens a separate print page (print.html) and allows you to Download PDF / Print.
  • Saves the latest results locally in chrome.storage.local.
  • Shows a badge on the extension icon with the number of collected labels.

Supported delivery services

Currently supported in the interface and sorting:

  • Avito
  • Yandex Delivery
  • Russian Post
  • DPD
  • CDEK
  • 5Post

How it works (briefly)

  1. Click the collect button in the popup.
  2. content.js reads orders from the order list page.
  3. background.js attempts to retrieve missing tracking numbers:
    • first via fetch of the order page HTML (using your Avito session cookies),
    • if that fails, it opens a separate window and temporary order tabs to read the number from the DOM.
  4. After processing, saves the result to the extension’s local storage.
  5. On the print page, codes are generated:
    • Code128 for standard delivery services,
    • QR for 5Post.

Usage example

  1. Open the Avito orders page: https://www.avito.ru/orders.
  2. Make sure the page contains orders with the status “Send the order”.
  3. If there are many orders, scroll down so that Avito dynamically loads all order cards. Start collecting only after the full list has loaded.
  4. Click the extension icon.
  5. Click “Collect labels”.
  6. Wait for processing to complete (the extension may open a separate window and several tabs to retrieve tracking numbers).
  7. After collection is complete, the popup may close automatically (a browser popup limitation during long background processing). To view results or proceed to printing, simply click the extension icon again.
  8. Click “Open for printing” and then “Download PDF / Print”.

Important

  • This tool is intended for personal use only.
  • This tool is not an official Avito product and is not affiliated with Avito.
  • For 5Post, the tracking number is always fetched from the individual order page.
  • For Avito, the tracking number is fetched from the order page if it is missing or incorrect in the list.
  • For unknown delivery services, the extension shows a card but indicates that label generation is not yet implemented.

Installation (for non-developers)

The extension is currently installed as a local (unpacked) extension in Chromium-based browsers (Chrome / Edge / Yandex Browser, etc.).

  1. Download the project:
    • on GitHub, click Code → Download ZIP,
    • extract the archive to a convenient folder.
  2. Open the extensions page:
    • Chrome: chrome://extensions
    • Edge: edge://extensions
    • Yandex Browser: browser://extensions
  3. Enable Developer mode.
  4. Click Load unpacked.
  5. Select the project folder containing manifest.json.
  6. Pin the extension to the browser toolbar for quick access.

Limitations and important notes

  • The extension only works on Avito and expects a page matching .../orders.
  • The parsing logic is tied to Avito’s current DOM structure; updates may be needed after site layout changes.
  • For some orders, the extension may temporarily shift focus to a separate window while retrieving tracking numbers.
  • If a tracking number is not found, the card will display a corresponding status instead of a code.

Security and privacy

  • The project contains no built-in API keys, tokens, or passwords.
  • Order data is stored locally in chrome.storage.local in your browser.
  • The project does not send data to third-party servers; network requests are made only to Avito pages to read order data.

Project structure

  • manifest.json — extension manifest (MV3), permissions, script connections.
  • popup.html, popup.js — popup UI and collection controls.
  • content.js — collects orders from the order list page.
  • background.js — background processing for retrieving tracking numbers.
  • print.html, print.js — print page for collected labels.
  • vendor/ — local barcode and QR code generators.

License

This project is distributed under the MIT License. See the LICENSE file.

For vendor/code128.js (based on JsBarcode), the MIT license text is located in vendor/JsBarcode.LICENSE.txt.

Automated tests

  • Tests are located in the tests/ folder and are run locally via Node.js:
    • npm test
  • Test files and package.json are not referenced in manifest.json and therefore do not participate in the extension’s operation in the browser.
  • The extension can be installed in Chrome together with these files: there should be no conflicts with Load unpacked.
Back to list