A beautiful, fast, and feature-rich terminal-based Excel and CSV editor with vim-style keybindings and formula support.
Don't know the formula syntax? Just describe what you want in plain English:
- Press
Ctrl+Kto open AI Formula Generator - Type: "Sum of column A" โ Gets
=SUM(A:A) - Type: "Average of B1 to B10" โ Gets
=AVERAGE(B1:B10) - Type: "Extract domain from email in A1" โ Gets the right formula!
- Press
Tabto insert the generated formula
Multiple AI Providers Supported:
- Gemini (Google)
- OpenAI (GPT-4, GPT-3.5)
- Claude (Anthropic)
- Mistral
- OpenRouter (access any model)
Press Ctrl+, to open configuration and set your preferred provider and API key.
Configuration: Run cello config to set up your AI provider and API key.
Messy data? Cello can help you clean it up instantly:
- Press
Ctrl+Bto open the Data Cleaning tool - Trim Whitespace: Remove leading/trailing spaces
- Remove Duplicates: Eliminate duplicate rows
- Fix Numbers: Convert text-formatted numbers to actual numbers
- Preview Changes: See exactly what will happen before you apply
Arithmetic: =A1+B1, =C1*2, =D1/E1-F1
15+ Built-in Functions:
SUM(A1:A10)- Sum rangeAVERAGE(B1:B20)/AVG(...)- Average valuesCOUNT(C1:C50)- Count numbersMAX(D1:D100)/MIN(...)- Find max/minIF(A1>100, "High", "Low")- Conditional logicCONCATENATE(A1, " ", B1)/CONCAT(...)- Join textUPPER(A1)/LOWER(A1)- Change caseLEN(A1)- Text lengthROUND(A1, 2)- Round numbersABS(A1)- Absolute valueSQRT(A1)- Square rootPOWER(2, 8)/POW(...)- Exponentiation
Auto-recalculation when cells change
- Edit cells with formulas and values
- Insert/delete rows and columns
- Copy/paste single cells or ranges
- Fill down/right for quick data entry
- Apply formulas to entire ranges with automatic reference adjustment
- Auto-save with modification tracking
- Undo-friendly workflow with clear status messages
- Bar charts - Compare values visually
- Line charts - Show trends over time
- Sparklines - Compact inline charts
- Pie charts - Display proportions
How to use:
- Press
Vto start range selection - Move cursor and press
Vagain - Press
vto open visualization - Press 1-4 to switch chart types
- Vim-style keybindings (hjkl) and arrow keys
- Jump to cell (Ctrl+G) - supports
A100,500, or10,5formats - Search (/) across cells and formulas
- Navigate results (n/N)
- Page Up/Down, Home/End
- Multi-sheet support with Tab navigation
- Copy cell (c) or entire row (C)
- Paste (p) with multi-cell support
- Export to CSV or JSON
- Save (Ctrl+S) with format preservation
- Save As (Ctrl+Shift+S) to new file
- Toggle formula display (f)
- View cell details (Enter)
- Column Resizing (< / >)
- Data Cleaning (Ctrl+B)
- Excel files (.xlsx, .xlsm, .xls) with formula preservation
- CSV files with formula support (saved as text)
- Multiple sheets with easy navigation
- Large file optimization with lazy loading
- Safe saving with backup on errors
Dark Themes:
- Catppuccin Mocha - Soft pastels, perfect for all-day use
- Nord - Cool Arctic blues, minimal and focused
- Rosรฉ Pine - Elegant rose tones, sophisticated
- Tokyo Night - Vibrant cyberpunk aesthetic
- Gruvbox - Warm retro colors, comfortable
- Dracula - Classic high contrast theme
Light Themes:
- Catppuccin Latte - Gentle pastel light theme
- Solarized Light - Balanced contrast
- GitHub Light - Clean and minimal
- One Light - Soft Atom-inspired colors
brew install SreeAditya-Dev/tap/cellogo install github.com/SreeAditya-Dev/cello-tui@latestDownload pre-built binaries from the releases page.
Available for:
- macOS (Intel & Apple Silicon)
- Linux (x64 & ARM64)
- Windows (x64)
# Clone the repository
git clone https://github.com/SreeAditya-Dev/cello-tui.git
cd cello-tui
# Install dependencies
go mod download
# Build
go build -o cello .
# Optional: Install globally
sudo mv cello /usr/local/bin/# View a file (read-only until you press 'i')
cello data.xlsx
# Start with a specific theme
cello report.csv --theme nord
# Create new file (will be created on first save)
cello newfile.xlsxโโโโorhjkl- Navigate cellsPage Up/DownorCtrl+U/D- Scroll by pageHome/Endor0/$- First/last columng/G- First/last columnTab/Shift+Tab- Next/previous sheetCtrl+G- Jump to specific cell
i- Enter edit modeEnter- Commit changes (in edit) / View details (in normal)Tab- Save and move right (in edit mode)Shift+Tab- Save and move left (in edit mode)Esc- Cancel editingx- Delete cell contentdd- Delete current rowdc- Delete current column
c- Copy cellC- Copy entire rowp- Pasteo- Insert row belowO- Insert column rightCtrl+J- Fill down (requires selection)Ctrl+L- Fill right (requires selection)Ctrl+A- Apply formula to range (requires selection)</>- Decrease / Increase column widthCtrl+B- Clean data (trim whitespace)
Ctrl+S- Save fileCtrl+Shift+S- Save ase- Export to CSV/JSONq- Quit (press twice if unsaved changes)
/- Searchn/N- Next/previous search resultEsc- Clear search
V- Start/finish range selectionv- Open visualization (after selection)1-4- Switch chart types (in viz mode)f- Toggle formula displayt- Change theme?- Toggle helpCtrl+K- AI Formula GeneratorCtrl+,- Configure AI Providers
cello mydata.xlsx
# Navigate with arrow keys or hjkl
# Press 'f' to toggle formula view
# Press 't' to change theme# 1. Open file
cello mydata.xlsx
# 2. Navigate to a cell
# 3. Press 'i' to edit
# 4. Type value or formula: =SUM(A1:A10)
# 5. Press Enter to save
# 6. Press Ctrl+S to save file# Create a formula
Press 'i' on cell C1
Type: =A1+B1
Press Enter
# Apply to entire column
Press 'V' to start selection at C1
Move to C10 and press 'V'
Move back to C1
Press Ctrl+A to apply formula
# Result: C1=A1+B1, C2=A2+B2, C3=A3+B3, etc.Press 'i' to start editing
Type value and press Tab
Continue typing in next cell
Press Tab to keep moving right
Press Ctrl+S when donecello-tui/
โโโ main.go # Application entry point
โโโ internal/
โ โโโ app/
โ โ โโโ model.go # State management
โ โ โโโ update.go # Event handling
โ โ โโโ view.go # Rendering logic
โ โ โโโ keys.go # Keybindings
โ โ โโโ edit.go # Edit operations
โ โ โโโ formulas.go # Formula evaluation engine
โ โโโ loader/
โ โ โโโ loader.go # File loading
โ โ โโโ save.go # File saving
โ โโโ theme/
โ โ โโโ theme.go # Theme definitions
โ โโโ ui/
โ โโโ ui.go # UI utilities
โโโ pkg/
โโโ models/
โโโ models.go # Data models
Contributions are welcome! Please feel free to submit a Pull Request.
git clone https://github.com/SreeAditya-Dev/cello-tui.git
cd cello-tui
# Install dependencies
make deps
# Run tests
make test
# Build
make build
# Run with sample data
make run- Run
make fmtbefore committing - Follow Effective Go guidelines
- Add tests for new features
- Update documentation
A B C D
1 Item Price Qty Total
2 Apples 1.50 10 =B2*C2
3 Oranges 2.00 5 =B3*C3
4 Total - - =SUM(D2:D3)
Select D2:D4, cursor on D2, press Ctrl+A to apply formula pattern.
A B
1 Score Grade
2 85 =IF(A2>=90,"A",IF(A2>=80,"B","C"))
Apply to B2:B20 with Ctrl+A for instant grading.
A B
1 Sales 1000
2 Costs 600
3 Profit =A1-A2
4 Margin =ROUND(A3/A1*100,2)
When you apply a formula to a range, cell references automatically adjust:
Source: A1 contains =B1+C1
Apply to A1:A5:
A1: =B1+C1
A2: =B2+C2
A3: =B3+C3
A4: =B4+C4
A5: =B5+C5
Copy ranges from other apps and paste into Cello:
- Tab-separated values paste as multiple columns
- Newline-separated values paste as multiple rows
- Formulas (starting with =) are preserved
i Enter edit mode
Type data
Tab Save and move to next cell
Tab Continue entering data
Tab Keep going...
Ctrl+S Save entire file
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Bubble Tea TUI framework
- Styled with Lipgloss
- Excel parsing by Excelize
- Clipboard by atotto/clipboard
- Themes inspired by Catppuccin, Nord, Rosรฉ Pine, and others
If you discover a security vulnerability, please create a private security advisory on GitHub or email the maintainers.
- GitHub: @SreeAditya-Dev
- Issues: GitHub Issues
- Discussions: GitHub Discussions
If you find Cello useful, please consider giving it a star on GitHub!
Made with โค๏ธ for terminal enthusiasts and spreadsheet power users everywhere.
