Skip to main content

What is Tabular?

Tabular is a lightweight, header-only C++ library for creating well-formatted, fully-customizable CLI tables. It provides a simple and intuitive API for building beautiful command-line interfaces with minimal setup.

Key Features

Full Unicode Support

Locale-independent display width handling with complete Unicode support

Cross-Platform

Cross-platform rendering through the render() function

Customizable Styling

Fully customizable through Alignment, Padding, Color, Rgb, and text attributes

Flexible Tables

Support for flexible tables with variant number of columns

Color Support

Compatible with fmtlib’s colored strings

Header-Only

Lightweight library with a single-include file option

Additional Features

  • C++11 Support: Full C++11 compatibility using only standard headers (vector, string, stdexcept, cstdint)
  • Customizable Borders: Pre-defined border templates (Default, Modern, Double, Rounded, Heavy) with full customization options
  • Minimal Dependencies: No external dependencies required
  • Easy Integration: Available as header files or single-include file

Use Cases

Tabular is perfect for:
  • CLI Applications: Build professional command-line tools with formatted output
  • Data Visualization: Display tabular data in a readable format
  • Logging and Reports: Create structured logs and reports in the terminal
  • Dashboard UIs: Build terminal-based dashboards and monitoring tools
  • Configuration Displays: Show configuration data in an organized way

Requirements

  • C++ Standard: C++11 or later
  • Dependencies: None (uses only standard library headers)
  • Platform: Cross-platform (Linux, macOS, Windows)
For best results with multibyte characters (especially CJK characters), use the render() function instead of direct output with std::cout.

Next Steps

Installation

Install Tabular using CMake or as a header-only library

Quick Start

Create your first table in minutes

Build docs developers (and LLMs) love