Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

Viewer

94 sites Security covered
View on drupal.org

The Viewer module imports and processes various file types like CSV, XLSX, and PDF, displaying them within Drupal using a reference field or a block. It offers integrations with charting libraries and data tables, allowing for organized data presentation in tabs or accordions, with options for manual or automated imports from different sources.

What is the Viewer module?

The Viewer module is a simple and yet powerful module to import and process structured or unstructured file types such as CSV, XLSX/XLS, PDF and present them in Drupal via Viewer reference field or a Block. The module comes with multiple plugin support for various data. Some of the plugins include integration with Chart.js, ApexCharts, Datatables and many more. You may easily organize your data and display each file in a tab (horizontal or vertical), accordions and other options could be also added.

The module can import files from different locations it could be FTP, SFTP, absolute path, remote URL or manual upload. Automated imports on cron are also supported.
In some cases those imports are very important and require some kind of notification when import fails, just enable Slack or Email notifications and get notified.

Each plugin comes with intuitive user interface for settings, configuration and filters when available. Module supports plugin previews.

The module could be useful to show financial information, analytical data or any other files on your site.

Whats New

  • In the latest version I added support for CKEditor 5 and text format filter so you can embed any Viewer right into your content.

Key Features

This module does not import file structure into Drupal entities but rather works with file itself and display data on the fly (cached).

  • Import CSV, XLSX and other file types manually or automatically from different locations (FTP, SFTP, HTTP or system path).
  • Override column header with ability to preprocess cell data and hide/show options.
  • Group different data into Tabs and Accordions (can be extended).
  • Email or Slack notifications on import success/failure.
  • Multiple Viewer plugins (Chart.js ApexCharts, Datatabels, Fullcalendar).
  • View CSV, XLSX (in v 2.x phpoffice/phpspreadsheet needs to be installed via composer) and PDF files and and reference to the viewer via fields or CKEditor 5 (embed).

Use Cases

The following are some use cases and can be extended via module's plugin system.

  • Display analytical and statistical data (charts, tables).
  • Display financial data (stocks etc).
  • Supply text with visuals from CSV for research data.
  • Display events list CSV as a calendar via Fullcalendar viewer.

Roadmap

  • Documentation.
  • Adding new tool for mapping CSV columns with Drupal entity fields for imports.
  • Extending Viewer plugins (data sources and display plugins).
  • Examples submodule (populates with test data)
  • Better integration for decoupled projects

Examples

Example creating new viewer using Datatables plugin:

Datatables settings form:

Datatables configuration form:

Datatables preview:

Filtering options:

Charts example:

CKEditor 5 example:

Supporting the Project

Please consider supporting this project with a donation.

Activity

Total releases
1
First release
Dec 2025
Latest release
7 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Slowing

Releases

Version Type Release date
2.0.0-rc2 Pre-release Dec 8, 2025