A local, Git-native LaTeX editor that runs in your browser.
Write in a Monaco editor, compile to PDF, and push to GitHub — without Overleaf, without a subscription, and without leaving your own machine.
Why GitLaTeX
Overleaf is excellent until you want your files on your own disk, your own Git
remote, and no upload limits. GitLaTeX gives you the same shape of workflow —
editor, live PDF, one-click compile — but everything runs locally against a real
Git repository. Your .tex files are just files, and your history is just Git.
- Your files stay yours. Plain folders on your disk, versioned with real Git.
- No account, no subscription, no upload cap.
- Compiles locally, so your unpublished work never leaves your machine — with your own TeX installation, or with TeX Live running in the browser when you have none.
- One command to start.
pip install gitlatex && gitlatex.
The in-browser TeX engine (~190 MB) is downloaded once, on first use. Everything else — your files, the editor and Git — stays local.
Getting started
pip install gitlatex
gitlatex
Your browser opens at http://localhost:5000. Start from a template, clone a
repository, import a .zip or open a folder, and start writing. Changes save
automatically as you type.
| Requirement | |
|---|---|
| Python | 3.8 or newer |
| Git | For cloning, pushing and version history |
| LaTeX | Optional — TeX Live, MiKTeX or MacTeX. Without one, documents compile in the browser |
| Option | Description |
|---|---|
--port, -p |
Port to serve on (default: 5000) |
--host |
Bind address (default: 127.0.0.1) |
--no-browser |
Do not open a browser on start |
--repos |
Where projects live (default: ./repos in the current directory) |
--fetch-engine |
Download the in-browser TeX engine now, then exit |
Features
- A real code editor — Monaco (from VS Code) with LaTeX and BibTeX highlighting, autocomplete for labels and citations, an outline, LaTeX-aware spell checking and snippets. More
- Compile anywhere — with your own TeX, with TeX Live in the browser, or with a remote compiler, in full multi-pass builds with a clickable problems list. More
- PDF ↔ source sync — click a line to find it in the PDF, double-click the PDF to jump back, and land on your cursor's page after every build. More
- Git built in — stage, commit, pull, push, branches and merge conflicts in a VS Code-style panel, plus history and side-by-side diffs. More
- Review comments — Overleaf-style comment threads, shared with coauthors through Git. More
- Live collaboration (optional) — edit together in real time with shared cursors, while everyone keeps their own folder and Git. More
- Vim mode with VimTeX-style keys. More
All the docs are in docs/.
Troubleshooting
| Problem | Fix |
|---|---|
| Compile fails immediately | With Local TeX, make sure pdflatex is on your PATH, or switch Settings → Compiler to Auto or In the browser. |
Citations show as ?? |
Locally, install biber or bibtex. In the browser, use backend=bibtex with biblatex. |
| Port already in use | gitlatex --port 3000 |
More in docs/troubleshooting.md.
Contributing
Contributions are welcome. See CONTRIBUTING.md for running from source, the project layout and releasing.
Credits
Built and maintained by Md Abdus Sami Akanda and Md Atiqur Rahman, with contributions from Md Shamim Towhid.
Parts of the editor UI and the in-browser LaTeX compiler come from Jahir Uddin Komol's TexBrowser IDE.
If GitLaTeX saves you some time, you can keep the coffee flowing.
License
Released under the ISC License.
Metadata
Release files for gitlatex 3.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gitlatex-3.0.1.tar.gz | 7.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gitlatex-3.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.7 MB
Release files / gitlatex-3.0.1.tar.gz
| Download URL | gitlatex-3.0.1.tar.gz |
|---|---|
| Size | 7.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
494d534cd3331b991f20cc34fa64db524b113764dadd1327c444b37a1bc2019b
|
|
BLAKE2b-256 checksum How to use checksums |
02b8f252487d29b835a75d90e04908096818c92f67797169aa170e6a18fc4774
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / gitlatex-3.0.1-py3-none-any.whl
| Download URL | gitlatex-3.0.1-py3-none-any.whl |
|---|---|
| Size | 7.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e2f8fc0295f90aa7ade393e19e2285407e4f8b3f3fb6a14003ffad5ca6158d24
|
|
BLAKE2b-256 checksum How to use checksums |
d0262997885ff7c7b663fc6e8f87090ce4a743649dbccbf4589cb06542b20c5c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log