Skip to content
Muslu Yüksektepe

WhatsApp sohbet ve kişi dışa aktarıcı

A Turkish-language browser extension that downloads WhatsApp Web chats and contacts as HTML, PDF, CSV, TXT or XLSX.

WhatsApp Chat and Contact Exporter is a browser extension that downloads WhatsApp Web chats and the contact list as HTML, PDF, CSV, TXT or XLSX files. I built it with Manifest V3 for Chromium-based browsers, with Brave as the main target. It opens in the browser's side panel and its interface is entirely in Turkish.

Purpose

WhatsApp has become the place where a large share of business conversations, customer requests and group announcements happen. Yet archiving a chat as a proper document, reporting the messages from a given date range or turning a group's member list into a table is tedious with WhatsApp's own tools. I wanted to do these jobs from the browser in a few clicks and get the output in formats that are both readable and easy to process.

How it works

The extension runs in three separate JavaScript contexts that talk to each other through messages. The side panel is the interface where you pick chats and adjust settings. The service worker only looks at the active tab's address: if the tab is WhatsApp Web it shows the real interface in the side panel, otherwise it shows a "not available on this page" screen.

The content script loads into the WhatsApp Web page and injects a few helper modules into the page's own context. The page context is the environment where WhatsApp Web's own code runs, and the isolated scripts of browser extensions cannot reach it directly. The injected modules read messages, contacts and group details from WhatsApp Web's internal data stores and send the result back to the content script. The content script then builds the ZIP, PDF or Excel file for the chosen format and saves it to disk. While the job runs, progress is shown in the side panel and on a small card on the page.

Key features

  • You can download chats one by one or in bulk as HTML, PDF, CSV, TXT or a single XLSX file.
  • The HTML output presents the chat as a web page you can open in the browser.
  • You can filter messages by date range, and the end date is included up to the end of that day.
  • You can export all WhatsApp contacts, or only those with selected labels, as CSV, choosing the columns from presets or defining your own.
  • You can download the participants of the open group as CSV, including admin and super admin flags.
  • There are fine-grained media options such as packing media, skipping videos and a timeout for media that cannot be decoded.
  • You can read phone numbers from a CSV or XLSX file and have the matching WhatsApp chats selected automatically.
  • There is a light and dark theme that follows the system setting or can be switched by hand.

Technical stack

There is no build step; the folder can be loaded directly in developer mode. The interface uses Bootstrap and jQuery, and dates are handled with Moment. Files are produced with JSZip, html2pdf, SheetJS and FileSaver. All of them are vendored into the repository, so no npm or package manager is needed.

I split the side panel logic into small modules by task. The interface flow, export commands, chat and group selectors, the contact and label cache, CSV import, the progress indicator and the messaging bridge each live in their own file. I also wrote the searchable multi-select and the list selector components myself.

PDF generation runs in the content script rather than the page context. The document is built in a temporary area, rendered with html2pdf and then cleaned up. Jobs go into a queue so that two PDFs started at the same time do not get mixed up.

Theme colors are defined as CSS variables, and the dark theme overrides them through a single attribute. I custom-rendered form controls such as selects, radio buttons and checkboxes so they look right in both themes.

Known limitations

WhatsApp Web regularly renames its internal modules, so the wrapper modules injected into the page context need updating from time to time. Brave's fingerprinting protection can also block some modules from loading. If the side panel stays empty, lowering Shields for WhatsApp Web fixes it.

Use cases

  • It is useful for small businesses and support teams that need to archive customer conversations as documents.
  • It suits reporting the conversations of a project or period as PDF or Excel after filtering by date range.
  • Labeled customer lists or group members can be exported as CSV and moved into other systems such as a CRM.
  • It speeds up finding and downloading, in one go, the chats with everyone on a phone list you already have.

Status

The current version is 1.1.7. The extension is not published in a store and is used by loading it in developer mode. Next on the list are small-size icons, in-app notifications instead of alert dialogs, a review of keyboard accessibility, and a health check that warns the user when WhatsApp Web's modules change.

Category
Browser & email extensions
Year
2026

Technologies

  • JavaScript
  • Chrome Extension
  • Manifest V3
  • WhatsApp

Back to all projects