Skip to content

fuongz/file-viewers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

70 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

File Viewers

Build & Release

A cross-platform desktop app for viewing and editing Markdown, MDX, JSON, CSV, Excel, and Parquet files. Built with Tauri 2 + React 19.

Features

  • Multi-tab file management with session persistence across restarts
  • Markdown / MDX viewer with GFM, tables, and syntax-highlighted code blocks
  • JSON tree viewer with collapsible nodes and dark/light theme support
  • CSV and Excel viewer β€” sortable columns, global search, in-browser SQL queries; cell editing with copy/cut/paste/delete, undo/redo history, multi-cell selection (click-drag and Cmd+click), column context menu (sort, select, delete), and row split/merge
  • Parquet viewer powered by DuckDB-WASM β€” query large files entirely in-browser
  • Monaco editor for Markdown and JSON with live preview
  • Command palette (Cmd+K) β€” open local files or load any file by URL
  • File tree sidebar for navigating all open tabs
  • Auto-updater β€” checks for new releases on startup with an in-app install prompt
  • Drag-and-drop file loading
  • System / Light / Dark theme

Prerequisites

  • Rust (stable toolchain)
  • Bun >= 1.0

Platform support: macOS 12+, Linux (GTK), Windows 10+

Development Setup

cd apps/desktop-app
bun install
bun run tauri dev

Other commands

bun run tauri build   # production bundle for current platform
bunx tsc --noEmit     # type check only

Tech Stack

Layer Library
App shell Tauri 2
UI React 19 + TypeScript
Build Vite 7 + Tailwind CSS 4
State Zustand
Editor Monaco Editor (local bundle, no CDN)
Markdown react-markdown + remark-gfm + rehype-highlight
JSON react-json-view-lite
CSV / Excel TanStack Table v8 + PapaParse
Parquet DuckDB-WASM (in-browser query engine)
SQL mode alasql (in-memory SQL on csv table)
Icons Hugeicons
UI primitives shadcn/ui + Radix

Project Structure

file-viewers/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ desktop-app/        # Tauri + React desktop application
β”‚   β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”‚   β”œβ”€β”€ App.tsx
β”‚   β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ table/      # DataTable, Header, Toolbar, ContextMenu, StatusBar, VirtualRow, SearchInput, SqlInput
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ toolbar/    # Toolbar, ToolbarActions, FormatTabs
β”‚   β”‚   β”‚   β”‚   β”œβ”€β”€ ui/         # Button, Input, Dialog, and other primitives
β”‚   β”‚   β”‚   β”‚   └── workspace/  # FileTree sidebar
β”‚   β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”‚   β”œβ”€β”€ store/          # Zustand store
β”‚   β”‚   β”‚   └── utils/
β”‚   β”‚   β”œβ”€β”€ src-tauri/
β”‚   β”‚   β”‚   β”œβ”€β”€ src/lib.rs
β”‚   β”‚   β”‚   β”œβ”€β”€ tauri.conf.json
β”‚   β”‚   β”‚   └── capabilities/
β”‚   β”‚   └── docs/           # Architecture + component reference
β”‚   └── landing/            # TanStack Start landing page (Cloudflare Workers)
└── scripts/

Supported Formats

Extension Viewer
.md, .markdown, .mdx, .txt Markdown
.json JSON tree
.csv CSV table + SQL
.xlsx Excel table + SQL
.parquet Parquet table (DuckDB-WASM)

License

MIT β€” see LICENSE

Docs

About

πŸ—‚οΈ A cross-platform desktop app for viewing and editing Markdown, JSON, Excel, and CSV files!

Topics

Resources

License

Stars

Watchers

Forks

Contributors