Skip to main content

Welcome to Tabular

Tabular is a modern C++ library that makes it easy to create beautiful, customizable tables for command-line interfaces. With full Unicode support, flexible styling options, and zero dependencies, Tabular helps you present data in a clear and professional way.

Quick Start

Get up and running with Tabular in minutes.

Installation

Install Tabular using CMake or single-header include

Quickstart Guide

Create your first table in under 5 minutes

Key Features

Header-Only Library

Single-include file option for easy integration

Full Unicode Support

Locale-independent display width handling for all characters

Customizable Styling

RGB colors, terminal colors, and text attributes

Cross-Platform

Works seamlessly across different operating systems

Flexible Layouts

Automatic width adjustment and flexible column configurations

C++11 Compatible

Modern C++ with minimal dependencies

Core Concepts

Learn the fundamental concepts behind Tabular.

Tables

Understanding the Table class and configuration

Rows & Columns

Working with rows and columns

Borders

Customizing table borders and pre-defined styles

Styling

Colors, attributes, and visual customization

Example

Here’s a simple example to get you started:
#include "tabular/table.h"
#include "tabular/render.h"

int main() {
  using namespace tabular;
  Table table;

  table.addRow({"Country", "Capital"})
       .addRow({"United States", "Washington"})
       .addRow({"Brazil", "Brasilia"})
       .addRow({"France", "Paris"})
       .addRow({"Japan", "Tokyo"});

  render(table.str() + '\n', stdout);
  return 0;
}

API Reference

Explore the complete API documentation.

Table

Core Table class

Row

Row management

Column

Column configuration

Border

Border customization

Color

Color and RGB support

Render

Cross-platform rendering

Build docs developers (and LLMs) love