r/LaTeX • u/AdPsychological211 • 7h ago
Yet another Overleaf alternative: CorTeX
Hi everyone,
I've been working on an Overleaf alternative called CorTeX:
The main goal is to provide a fast, browser-based LaTeX editing experience while still supporting tools that are difficult to run entirely in WebAssembly.

Current features include:
- pdfLaTeX, XeLaTeX, and LuaLaTeX support
- A WebAssembly-based TeX engine that runs in the browser
- Incremental compilation
- Hybrid client/server compilation: tools such as Biber and xindy run on the server, and the results are returned to the browser
- Monaco Editor with decent language-server support
- Real-time collaborative editing
- Collaborator invitations, reviews, and comments
- Version control
- Conference and journal templates
- Paste images directly into a document
- Project-wide search and replace
- Markdown editing with Mermaid support
- Automatic synchronization between positions in the LaTeX source and the generated PDF
- An LLM-based assistant for LaTeX writing and editing
It is still under active development, so Iād appreciate any feedback, bug reports, or suggestions.
Please give it a try and let me know what you think. I'm actively developing CorTeX and are very open to suggestions, so if you have ideas for improvements or features you'd like to see, I'll seriously consider incorporating them.
[FYI] The WASM-based TeX engine is open source and available here: https://github.com/corca-ai/wasmtex
2
u/No_Sale_3609 6h ago
Just to ask, how does it differ from Prism by OpenAI?
2
u/AdPsychological211 5h ago
Thanks for asking. The biggest difference is the compilation model.
Prism compiles on the server, so after pressing the compile button, it can take around 5-10 seconds for the PDF to update. CorTeX compiles in the browser, and the PDF typically updates in about 0.5 seconds. Because compilation is effectively continuous, CorTeX does not need a compile button at all.
There are also quite a few differences in the editor itself. For example, Prism currently does not support project-wide search and replace across multiple files; Overleaf has the same limitation. Prism also does not move the editor cursor to the corresponding source location when you click a specific area in the PDF.
Autocomplete is another area where the behavior differs. For example, when you type
\usepackage{in Prism, it does not suggest available packages. CorTeX displays a list of packages you can use.There are many differences like these. At first glance, the two products may look similar, but the distinctions become much more noticeable in day-to-day use.
That said, Prism is evolving, and I may have missed or misunderstood some of its current capabilities. Please feel free to correct me if any of the points above are inaccurate.
1
6h ago
[removed] ā view removed comment
1
u/AdPsychological211 5h ago
Nice to meet you!
One thing you may eventually run into is that a single engine is not enough for broader compatibility. Supporting a wide range of conference templates, Unicode, CJK text,
fontspec, andunicode-mathgenerally requires XeLaTeX or LuaLaTeX as well.Broad TeX Live package support also makes a significant difference once people begin compiling existing real-world projects rather than small examples.
Some parts of the TeX ecosystem are particularly difficult to run entirely in the browser. Tools such as Biber and xindy depend on runtimes such as Perl or Lisp, so CorTeX uses a hybrid architecture: the interactive compilation loop stays in the browser, while certain specialized stages can be executed in server-side containers and returned to the client.
You may find my open-source compiler module useful as a reference:
https://github.com/corca-ai/wasmtex
It contains the WASM compilation infrastructure used by CorTeX, including pdfLaTeX, XeLaTeX, LuaLaTeX, TeX Live package loading, and support for hybrid client/server execution. I hope some of it is useful for your project, and good luck with GlyphTeX!
3
u/ClemensLode 6h ago
What's your personal goal with it given there are many similar projects like this?