Web-assembly powered WYSIWYG LaTeX Editor, supporting nearly all LaTeX package


A Browser-based Fast LaTeX Visual Editor.

Key features:

  2. Fast compilation thanks to LaTeX checkpointing
  3. Cloud file storage

Try it here: https://www.swiftlatex.com/oauth/login_oauth?type=sandbox

Short Introduction

SwiftLaTeX is a Web-browser based editor to create PDF documents such as reports, term projects, slide decks, in the typesetting system LaTeX. In contrast to other web-based editors SwiftLaTeX is true WYSIWYG, What-you-see-is-what-you-get: You edit directly in a representation of the print output. You can import a LaTeX document at any stage of completeness into SwiftLaTeX. You can start a new document with SwiftLaTeX, or you can use SwiftLaTeX for final copy-editing. For advanced operation you can edit the so-called LaTeX source code, which gives you more fine-grained control. SwiftLaTeX is collaborative; you can share your project with others and work on it at the same time. SwiftLaTeX stores your data in the cloud under your account; currently it supports Google Drive and DropBox.

Run SwiftLaTeX using Docker in 3 Steps.

  1. Install Docker
  2. Run "docker build . -t swiftlatex/swiftlatex"
  3. Run "docker-compose up"

Run SwiftLaTeX using Python3 in 3 Steps

  1. Install Python3 && Pip3
  2. Run "pip3 install -r requirements.txt"
  3. Run "python3 wsgi.py"

Adding Google Drive and Dropbox Support

  1. You first need to be a Google API Developer to retrieve a Google API Client ID and Secret. See here ( https://developers.google.com/identity/protocols/OAuth2 )
  2. Edit config.py and put your Client ID and Secret Inside. (You can use environment variables instead.)

Known bug lists


Formulas are absolute positioned, therefore, the correct display only comes after a compilation. Reductant spaces occurs between words.

  1. Slow Upload to Google

Our system abstracts your cloud storage as a POSIX-like file system to simplify user interface implementation at the cost of a little bit performance. We are working hard to improve our implementation to reduce the network turn around time.