Skip to content
Philip A Senger edited this page Nov 19, 2025 · 1 revision

TableCapture - Overview

What is TableCapture?

TableCapture is a lightweight macOS menu bar application that captures screenshots of tables and instantly converts them to CSV or Markdown format. Perfect for quickly digitizing data from images, PDFs, web pages, or any on-screen table.

Key Features

Interactive Screenshot Capture

  • Click the menu bar icon and select any rectangular area of your screen
  • Uses macOS's native screenshot tool for precise selection
  • Works with tables from any source: web pages, PDFs, images, spreadsheets, presentations

Dual OCR Engine Support

  • Apple Vision OCR (Default): Fast, accurate, built into macOS
  • Tesseract OCR (Alternative): Better for challenging cases like single letters or stylized fonts
  • Switchable via code for testing and optimization

Visual Grid Editor

  • Automatically detects table structure with AI
  • Interactive grid overlay lets you adjust row and column boundaries
  • Drag red lines to reposition cell boundaries
  • Add or remove grid lines as needed
  • Real-time preview of what will be extracted

Multiple Output Formats

  • CSV: Perfect for importing into Excel, Google Sheets, or databases
  • Markdown: Ideal for documentation, README files, or note-taking apps
  • Automatic clipboard copy - just paste wherever you need it

Lightweight & Fast

  • Runs from your menu bar - always accessible
  • No installation bloat or background processes
  • Native macOS app - no dependencies required

How It Works

1. Capture

Click the menu bar icon and select "Capture" to take a screenshot of your table.

2. Edit Grid

The Table Editor window opens with automatically detected grid lines. Adjust them to match your table structure:

  • Red lines = cell boundaries
  • Drag handles = reposition grid lines
  • Add Row/Column buttons = insert new dividers
  • Delete = remove incorrect lines

3. Extract

Click "Extract as CSV" or "Extract as Markdown":

  • OCR reads text from each cell
  • Output is automatically copied to clipboard
  • Paste into Excel, Notion, or any text editor

Use Cases

Data Entry

Quickly digitize tables from printed reports, screenshots, or scanned documents

Documentation

Convert on-screen tables to Markdown for README files, wikis, or technical docs

Research

Extract data from PDFs, research papers, or web pages without manual typing

Education

Convert lecture slides or textbook tables into spreadsheets for study materials

Analysis

Get tabular data from charts, dashboards, or analytics tools into CSV for processing


System Requirements

  • macOS: 12.3 (Monterey) or later
  • Permissions: Screen Recording access (required for screenshots)
  • Architecture: Universal binary (Intel + Apple Silicon)

Installation

  1. Download TableCapture.dmg from the latest release
  2. Open the DMG file
  3. Drag TableCapture.app to your Applications folder
  4. Right-click the app → Open (first time only - bypasses unsigned app warning)
  5. Grant Screen Recording permission when prompted:
    • System Settings → Privacy & Security → Screen Recording
    • Enable TableCapture

Usage Guide

Basic Workflow

  1. Launch the app - Look for the table icon (📊) in your menu bar
  2. Click the icon → Select "Capture"
  3. Select table area - Click and drag to capture the table on your screen
  4. Adjust grid lines in the Table Editor:
    • Drag red lines to match cell boundaries
    • Use "Add Row" / "Add Column" for missing dividers
    • Click a line to select it (turns blue), then press Delete to remove
  5. Choose format:
    • ⌘C = Extract as CSV
    • ⌘M = Extract as Markdown
  6. Paste anywhere - the result is already in your clipboard!

Tips for Best Results

  • Clear screenshots - Ensure text is readable and not blurry
  • Good contrast - Dark text on light backgrounds works best
  • Straight tables - Aligned rows and columns give better accuracy
  • Adjust grid carefully - Take time to position lines precisely
  • Preserve multi-line - Toggle this option if cells contain multiple lines of text

Output Format Examples

CSV Output

"Location","Dates","First-Time Track","Returning Student Track","Rationale"
"Bungendore","Jan 5-9 (Week 1)","Code Foundations (Mon-Tue)","Advanced Godot","Low accommodation costs"
"Norwest","Jan 12-16 (Week 2)","Creative Coders (Wed-Fri)","DECISION POINT","Highest returning student base"

Markdown Output

| Location | Dates | First-Time Track | Returning Student Track | Rationale |
| --- | --- | --- | --- | --- |
| Bungendore | Jan 5-9 (Week 1) | Code Foundations (Mon-Tue) | Advanced Godot | Low accommodation costs |
| Norwest | Jan 12-16 (Week 2) | Creative Coders (Wed-Fri) | DECISION POINT | Highest returning student base |

Technical Architecture

OCR Engines

  • Apple Vision: VNRecognizeTextRequest for fast, accurate text recognition
  • Tesseract: Open-source OCR for edge cases requiring more aggressive text detection

Grid Detection

  • Automatic table structure detection using Vision framework
  • Spatial clustering algorithm groups text into rows and columns
  • Manual override with interactive grid editor

Coordinate Systems

  • Screen coordinates: Top-left origin (y=0 at top)
  • CGImage coordinates: Bottom-left origin (y=0 at bottom)
  • Automatic conversion ensures pixel-perfect cropping

Troubleshooting

App won't open / "Unidentified developer" warning

Right-click the app → Open (don't double-click the first time)

Screen Recording permission denied

System Settings → Privacy & Security → Screen Recording → Enable TableCapture

Grid lines don't match table

Manually adjust by dragging red handles. Add/remove lines as needed with toolbar buttons.

Poor OCR accuracy

  • Try the alternative OCR engine (switch in code at TableEditorView.swift:354)
  • Ensure screenshot has good contrast and resolution
  • Adjust grid lines to precisely match cell boundaries

License

GPL v3.0 - See LICENSE.md Third-party libraries: See ACKNOWLEDGMENTS.md

Contributing

See the main README for development setup and contribution guidelines.

Support