Open-source desktop LaTeX editor with offline two-way Overleaf sync.
Write, compile, and preview LaTeX documents locally — while staying in sync with your Overleaf projects through Git.
No Perl. No TeX Live installation. No fuss. Everything downloads automatically.
Download Latest Release »
Report Bug
·
Request Feature
Table of Contents
Soil is a self-contained Electron app built for academics, students, and anyone who writes in LaTeX. Most LaTeX workflows either force you into a browser (Overleaf) or require a heavyweight local TeX installation. Soil sits in the middle:
- Edit locally with a proper code editor (Monaco — the same engine behind VS Code)
- Compile locally with an auto-downloaded TinyTeX — no system-wide install required
- Sync with Overleaf through Git so you and your collaborators stay on the same page
- Work offline and push when you're back online — nothing is ever lost
Everything you need downloads automatically on first launch. Open the app and start writing.
- One-click sign-in — secure browser window with reCAPTCHA, SSO, and 2FA support. Session persists across restarts.
- Project browser — all your Overleaf projects sorted by last updated, with instant search and smart local-clone detection.
- Clone any project — from the browser or by pasting a raw
git.overleaf.comURL. - Push + Commit — confirmation dialog shows every changed file before syncing back.
- Pull — fetch the latest version from Overleaf with one click.
- Auto-downloads TinyTeX (TeX Live 2026) on first launch — no system-wide TeX installation needed.
- Auto-downloads MinGit — portable Git binary, no
giton PATH required. - Everything lives in
%APPDATA%\Soil\tools\, fully self-contained. - Progress bar on first launch; retry button on failure.
- Local
pdflatex— no Perl orlatexmkdependency. - Automatic package installation — missing
.sty/.clsfiles resolved and installed viatlmgrwith up to 5 cascading install rounds. - Multi-mirror fallback — TeX Live 2026 repo with German mirror primary, CTAN fallback.
- Runs with
-interaction=nonstopmode(Overleaf-compatible).
- Monaco Editor with full LaTeX syntax highlighting (commands, math, comments, brackets).
- Auto-compile: Off / Normal (5 s) / Fast (1.5 s) debounce modes.
- Error & warning decorations — wavy underlines, glyph dots, minimap highlights, hover messages.
- Git gutter indicators — green (added), blue (modified), red (deleted) bars matching VS Code conventions.
- Bracket pair colourisation and word wrap enabled by default.
- Sidebar file tree with active-file highlighting.
- Create, upload, and download files through native dialogs.
- Recognises
.tex,.bib,.sty,.cls, and common image formats.
- Live PDF preview powered by PDF.js, rendered on canvas.
- Page navigation, zoom controls, auto-reload after compile.
- Automatic network detection — DNS probe every 10 seconds.
- Offline banner with unpushed commit count.
- Local commits when offline — no work is lost.
- Back-online sync dialog — one-click push on reconnect.
- Light / Dark / System theme toggle with warm neutral palette.
- Settings panel — manage Git tokens (view masked, change, delete).
- Recent projects quick access on the welcome screen.
- Reset all data — factory reset with double confirmation (red danger zone).
- Compilation output (
.aux,.log,.pdf, etc.) excluded from the file watcher. - Push pauses auto-compile and auto-commits straggler build artifacts to avoid rebase conflicts.
Get Soil running locally in under a minute.
- Node.js ≥ 18 and npm
- An Overleaf Premium account (for Git sync — local-only editing works without one)
- Clone the repo
git clone https://github.com/RaymonDev/soil.git
- Install dependencies
cd soil npm install - Run the app
npm start
On first launch Soil will download TinyTeX (~90 MB) and MinGit (~50 MB). This only happens once.
npm run dist # current platform
npm run dist:win # Windows (NSIS installer)
npm run dist:mac # macOS (DMG)
npm run dist:linux # Linux (AppImage)Output goes to release/.
| Shortcut | Action |
|---|---|
Ctrl + S |
Save current file to disk |
Ctrl + B |
Compile LaTeX |
Ctrl + Shift + S |
Push + Commit to Overleaf |
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Distributed under the MIT License. See LICENSE for more information.