Open source · AGPL-3.0 · see what’s new

Write LaTeX together.
Keep every copy.

TeXLoom is a collaborative LaTeX editor where everyone holds the whole project: in the browser, in the desktop app, or as a plain folder on disk. Edit live with co-authors, keep working offline, and let the server see nothing but ciphertext.

The TeXLoom editor: a LaTeX paper with a co-author’s live selection, a change suggested by an AI agent, a comment, and the PDF compiled in the browser.
Why TeXLoom

The convenience of an online editor, without handing over your work.

Hosted LaTeX editors keep your paper on someone else’s computer. TeXLoom keeps it on yours, and on your co-authors’, and passes changes between you. It’s free, open-source software under the AGPL-3.0: read the code, run your own server, or use ours.

Local-first

Every collaborator holds a full copy of the project. Work on a train, a plane or a bad conference Wi-Fi; your edits merge automatically when you reconnect.

End-to-end encrypted

Files, file names and PDFs are encrypted on your device with a key that lives only in the link. The server relays and stores ciphertext, and can be told to keep nothing at all.

No accounts

Share a link and you’re collaborating. Give each co-author a personal edit link you can revoke later, or a read-only link for reviewers.

Features

Everything you expect from a LaTeX editor, and some things you don’t.

Live collaboration

See co-authors’ cursors and selections as they type; click an avatar to jump to them. Two files made under one name while apart are both kept.

TeX Live in your browser

Compile with TeX Live 2026 in WebAssembly, or with your own TeX installation. Clickable errors and SyncTeX jumps between source and PDF.

History without git

Automatic and named versions (“the one we submitted”), compare with now, restore a file or everything, and see who wrote each line.

Comments & suggestions

Comment on a selection or suggest a change to it. Collaborators reply, resolve, accept or reject: tracked changes for LaTeX.

Your project is a folder

Sync a project to an ordinary folder and edit it in vim, VS Code or Emacs. Changes flow both ways, live. Chrome and Edge can do it with nothing installed.

Agents as collaborators

An MCP server lets Claude Code or any MCP client read, edit, comment, suggest and compile, visible to everyone by name and cursor. A built-in assistant works with Claude, OpenAI-compatible APIs or a local model.

An editor that knows LaTeX

Completion for commands, environments, files, citation keys and labels; a live preview of the equation under the cursor; a checker for common mistakes with one-click fixes; spell check that skips LaTeX.

Continuous git sync

Keep a GitHub repository in step with a project, both ways, like Overleaf’s GitHub sync but continuous. Your git credentials never touch the server.

Bring your projects

Start from templates (article, paper, Beamer, thesis, letter) or import a .zip from Overleaf, a GitHub download or an arXiv paper’s source. Add references from a DOI or arXiv id.

See it in action

Writing with co-authors, and with agents.

Real screenshots of TeXLoom 0.3.2: two people and Claude, connected through the MCP server, working on one paper.

The Review tab: a suggested change from Claude (agent) with Accept and Reject buttons, and a comment with a reply from Jonas.

Review changes before they land

Anyone, including an agent, can comment on a passage or suggest a change to it. Suggestions show inline as tracked changes; collaborators reply, resolve, accept or reject.

Above: Claude suggested a wording change through texloom mcp, and Jonas replied to its comment.

The History tab with a named version, and the editor showing which co-author wrote each line.

Every version, and who wrote what

Versions are saved automatically; name the ones that matter, like the draft you sent round or the version you submitted. Compare with now, restore a file or the whole project, and turn on Who wrote this to see each line’s author.

The equation under the cursor typeset in a preview below the line.

See the maths as you type

Put the cursor in an equation and a preview shows it typeset, using your project’s own macros. Errors and common mistakes are underlined as you go, most with a one-click fix.

How it works

A small server that can’t read your paper.

  1. Every device is a full replica. Edits are CRDT updates (Yjs in the browser, pycrdt in the folder helper), so they merge character by character in any order, even after days offline.
  2. The key is in the link. It sits after the #, which browsers never send to servers. Content, file names and compiled PDFs are encrypted with AES-GCM before they leave your device.
  3. Edits are signed. The server and every peer check each write against the owner’s key or a personal key the owner granted, so read-only links can’t edit and revoked links are refused.
  4. The server is a relay. It passes ciphertext between whoever is online and, if you want, keeps an encrypted copy for when nobody is. It runs happily on a Raspberry Pi.

TeXLoom is honest about its limits too: the web app trusts the server that serves it, and anyone with a link can read the project. Read the security model.

Two devices exchange encrypted, signed changes through a relay server that only sees ciphertext. Your browser full copy · offline IndexedDB Co-author’s folder full copy · any editor desktop app or CLI Relay server 9f3a…c1e7 ▒▒▒ b04d…22af ▒▒▒ ciphertext only Agent via MCP 🔑 key in link 🔑 key in link no key, no plaintext

Everything after # stays in the browser.

Get TeXLoom

Use it in the browser, on the desktop, or from the command line.

All three are the same project, in sync. Mix them freely: one co-author in Safari, another in vim, an agent in Claude Code.

Desktop app

Keeps all your project folders in sync from the menu bar or system tray. Join a project from a link, share an existing folder, compile with your own TeX, and keep a git repository in step.

Choose your platform

The apps aren’t signed yet. On macOS, right-click the app → Open the first time (or System Settings → Privacy & Security → Open Anyway). On Windows, SmartScreen → More info → Run anyway. Signing certificates cost money each year: sponsoring is what will pay for them.

Command line

The texloom helper works on any OS without a browser. Sync folders live, compile with latexmk, keep git in step, or run the MCP server for agents.

# install with uv (or pipx)
uv tool install git+https://github.com/jhudsy/texloom
texloom clone '<link>' ~/papers/demo
texloom run ~/papers/demo --compile
# let Claude Code work on it
claude mcp add texloom -- texloom mcp ~/papers/demo

Your own server

The server is the web app, the encrypted relay and the in-browser TeX files in one small Python process. An install script sets up nginx, Let’s Encrypt and a sandboxed service on Ubuntu or Debian.

git clone https://github.com/jhudsy/texloom
cd texloom && uv sync
cd web && npm install && npm run build
npm run download-tex
cd .. && uv run texloom-server --port 8787
Hosting at texloom.org

Free to use. Storage is optional.

You never need to pay to use TeXLoom: your projects live on your devices, and the public server at app.texloom.org relays live changes for anyone, free. If you also want an encrypted copy kept on the server, so co-authors can catch up while you’re offline, a yearly storage plan covers the disk it uses. Plans are priced to cover costs, not to make a profit.

Free
$0

Live collaboration, with copies on your own devices.

  • Unlimited projects and collaborators
  • Live, end-to-end encrypted relay
  • In-browser TeX Live
  • No copy kept on the server
Start writing
Writer
$5 / year

Your papers, waiting on the server for co-authors.

  • 2 GB encrypted storage
  • Co-authors sync without being online at the same time
  • Reopen a project from its link on any device
  • Everything in Free
Get 2 GB
Lab
$20 / year

A research group or a course, sharing one allowance.

  • 10 GB encrypted storage
  • One creation code for the whole group
  • Theses and big figure folders welcome
  • Everything in Writer
Get 10 GB

Prices are per year, plus VAT or sales tax where it applies. Plans are sold through Polar, which acts as the seller (the “merchant of record”): it takes the payment, handles tax and sends your receipt. They renew yearly, and you can cancel any time from the link in your receipt.

Storage works through creation codes. After you buy a plan you receive a code to enter once in TeXLoom (⚙ Settings → Creation code…), and projects you create with it are stored, encrypted, up to your allowance. If a plan ends, your projects stay on your devices and in sync, new changes simply stop being stored on the server, and the server’s old copies are deleted 30 days later. The server can’t read your files, so it can’t sell, scan or train on them. See the privacy page.

Prefer to run your own? TeXLoom is AGPL-licensed free software. Host it for yourself, your lab or your university on a cheap VPS or a Raspberry Pi, with your own storage limits and creation codes.

Self-hosting guide
Support TeXLoom

Free software, with real running costs.

TeXLoom is free and always will be. If it saves you time or makes writing with co-authors less painful, a donation helps cover the things open source can’t avoid paying for: signing the apps so macOS and Windows stop warning about them, the domain, and the free relay at app.texloom.org.

Donations are gifts: they don’t buy storage or anything else. For storage, see the plans above.

If you’d like to be thanked by name, say so when you donate and you’ll go on the supporters list; otherwise you stay anonymous.

Not in a position to give? That’s fine. Starring the repository, reporting bugs, translating the interface or telling a colleague helps just as much.

Where the money goes (per year, approximately)

Apple Developer ProgramSigned, notarised macOS app: no more “unidentified developer”$99
Windows code signingRemoves the SmartScreen warning$120–$300
Server for app.texloom.orgThe free relay and TeX Live files (storage plans pay for their own disk)$120–$240
texloom.org domain$15
Total≈ $350–650

Anything beyond these costs goes into time spent on TeXLoom.

Questions

Frequently asked

Is TeXLoom free?

Yes. TeXLoom is free, open-source software under the GNU AGPL-3.0: the web app, desktop app, command-line helper and server are all free to use, study, change and share, and you can run your own server. On app.texloom.org, writing and live collaboration are free and need no account.

The only thing that costs money is optional: a storage plan, for an encrypted copy of your projects kept on our server so co-authors can catch up while you’re offline. Donations are welcome but never required.

How is TeXLoom different from Overleaf?

Overleaf keeps your project on its servers and you edit it there. In TeXLoom, every collaborator has the whole project on their own device and changes are passed between you, end-to-end encrypted. You can work offline for as long as you like, edit with any tool through a synced folder, and run the server yourself. There are no accounts: you share links.

Moving over is easy: in Overleaf use Menu → Download → Source, then import the .zip in TeXLoom.

Is it ready for my thesis?

TeXLoom is young: an early release that is being used and improved quickly. It already does a lot, but please keep your own copies of important work (a synced folder, a .zip, or git) and read the security model before relying on it.

Who made it, and how?

TeXLoom was designed and directed by Nir Oren. Nearly all of its code, tests and documentation were written by an AI assistant (Anthropic’s Claude, working in Claude Code), with the author choosing the design and features and reviewing the work. Its security review was also AI-performed and is not a substitute for a professional audit. The code is all public, and reviews from humans are very welcome.

What can the texloom.org server see?

It sees encrypted data, its size and timing, a project ID, and the IP addresses that connect, which appear in its logs. It cannot see your files, file names, comments, compiled PDFs or the names you use in projects: those are encrypted with a key that is only in your links.

One important caveat: the web app is served by the same server, so you are trusting its operator not to serve modified JavaScript. If that matters to you, use the desktop app or command-line helper, or run your own server. The privacy page has the details.

What happens if I lose a link?

The server can’t read or recover links, because they hold the keys. If you still have the project open in a browser or as a folder, the Share dialog or texloom links shows them again. Otherwise ask a collaborator. A password manager is a good home for links that matter.

What’s the difference between donating and buying storage?

Donations, through GitHub Sponsors or Ko-fi, are gifts towards TeXLoom’s running costs, and don’t come with anything in return. Storage plans are a separate purchase, sold through Polar, which handles the payment and any VAT or sales tax. You don’t need either to use TeXLoom: live collaboration on app.texloom.org is free, and you can always run your own server.

Why do macOS and Windows warn me about the app?

Because the downloads aren’t signed with paid certificates yet. The app is built from the public source by GitHub Actions, so you can check exactly what went into it. Signing costs a few hundred dollars a year; supporting the project is what will make the warnings go away.

Can I use my own TeX installation, or shell escape?

Yes. The desktop app and the texloom helper compile with your local latexmk, and browsers can send their compile requests to it. Because collaborators write the document, compiling is locked down by default: no shell escape, no file access outside the project, no rc files. Lines that need to run programs (minted, for example) must be reviewed and allowed first.

Which languages does it speak?

The web and desktop apps are in English and French. Adding a language is a matter of translating a set of text files; contributions are welcome.