CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
JupyterJuliaLaTeXLinuxOctavePythonR StatsSageMathSlidesTeachingTerminalWhiteboardX11ComputeAI AssistantCompareAPI
CoCalc Logo Icon
JupyterJuliaLaTeXLinuxOctavePythonR StatsSageMathSlidesTeachingTerminalWhiteboardX11ComputeAI AssistantCompareAPI
print("Welcome to CoCalc from Python!")
Online Jupyter Notebooks logo

Online Jupyter Notebooks

Using Pandas and Tensorflow in a Jupyter notebook

CoCalc's own collaborative, fully compatible and supercharged notebooks.

Jupyter Notebooks made for teaching!

  • A sophisticated course management system keeps track of all notebooks of all students. It manages distributing and collecting files as well as grading.
  • The Jupyter collaborative whiteboard supports presentations that mix Jupyter cells, mathematical notation, and sketching with a pen and other tools.
  • CoCalc's Jupyter Notebooks fully support very flexible automatic grading via nbgrader! The teacher's notebook contains exercise cells for students and test cells, some of which students can also run to get immediate feedback. Once collected, you tell CoCalc to automatically run the full test suite across all student notebooks and tabulate the results.
CoCalc supports many kernels right out of the box: several Python environments, SageMath, R Statistical SoftwareOctave, Julia and many more.

No software setup: 100% online

CoCalc is an online web service where you can run Jupyter notebooks right inside your browser. You can privately share your notebook with your project collaborators – all changes are synchronized in real-time.
You no longer have to worry about setting up your Python environment, installing/updating/maintaining your libraries, or backing up files. CoCalc manages everything for you!
Ready out of the box: Sign up, create a project, create or upload your *.ipynb file, and you're ready to go!

Collaborative editing

Two browser windows editing the same Jupyter notebook
You can share your Jupyter notebooks privately with project collaborators. All modifications are synchronized in real time, where you can see the cursors of others while they edit the document. You are also notified about the presence of collaborators.
Edit text between code cells using markdown or our collaborative rich text editor.
We have extended ipywidgets so that sliders, menus and knobs of interactive widgets are also fully synchronized among all collaborators.
Additionally, the status and results of all computations in the currently running kernel session are also synchronized, because the session runs remotely in CoCalc's cluster.
Together, everyone involved experiences the notebook in the same way.

Feature Overview

The following are some more specific features of Jupyter notebooks in CoCalc.
There is also more comprehensive documentation.


TimeTravel is a powerful feature of the CoCalc platform. It records all your changes in your Jupyter notebook in fine detail. You can go back and forth in time across thousands of changes to see all previous edits.
This allows you to easily recover anything from previous versions of your notebook by copy and pasting.
You can also browse the entire process of creating the notebook from the start. This lets you discover how you arrived at a particular solution and see what you (or your students) tried to get there.

NBGrader: automatically grading assignments

Creating an NBGrader-enhanced Jupyter notebook
CoCalc's Jupyter Notebooks fully support both automatic and manual grading!
When using NBGrader, the teacher's notebook contains exercise cells for students and test cells, some of which students run to get immediate feedback. Once collected, you tell CoCalc to automatically run the full test suite across all student notebooks and tabulate the results.
Learn more about NBGrader in CoCalc.

ChatGPT fixes code

ChatGPT explains an error message and fixes code
Use the power of ChatGPT to help fixing errors or to generate code.
In this example, a code cell in a Jupyter Notebook returned an error. Clicking the botton to explain the error message creates a message addressed to ChatGPT, which asks for help and to fix the code.
With enough context – the few lines of input code and the lines in the stacktrace – it will attempt to fix the code for you. The fix might not be perfect, but it can be a good starting point.

Managed Jupyter kernels

Dropdown menu showing a large number of preinstalled Jupyter kernels
CoCalc makes sure that your desired computational environment is available and ready to work with. Select from many pre-installed and fully managed kernels. You can also create your own custom kernel.
Look at our list of available software for more about what is available.

Chat about your Jupyter notebook

Chatting about a Jupyter notebook
A chat to the side of each Jupyter notebook lets you discuss the content of your notebook with colleagues or students. You can drag and drop or paste images and files into chat, use LaTeX\LaTeX math formulas, and fix typos in messages.
Collaborators who are not online will be notified about new messages the next time they sign in or you can @mention them so they get emailed.
Chat fully supports markdown formatting and LaTeX\LaTeX formulas.

JupyterLab and Jupyter Classic

Running JupyterLab inside a CoCalc Project
CoCalc's Jupyter is a complete rewrite of the classical Jupyter notebook interface and backend server. It is tightly integrated into CoCalc and adds realtime collaboration, TimeTravel history and more. This rewrite does not change the underlying Jupyter notebook file format; you can download your *.ipynb file at any time and continue working in another environment.
In addition, CoCalc also fully supports running standard JupyterLab (with realtime collaboration enabled) and Jupyter Classic notebook servers from any CoCalc project! You can still use all libraries and extension that might rely on specifics of one of those implementations. Moreover, you can fully use your CoCalc project via the powerful JupyterLab interface!

CPU and memory monitoring for each notebook

Jupyter notebook showing CPU and memory indicators
Long running notebook sessions or intense computations might deplete available CPU or memory resources. This slows down all calculations or even causes an unexpected termination of the current session.
CoCalc's per-notebook CPU and memory indicators helps you to keep an eye on the notebook's memory and CPU consumption.
You can even close your browser during long running computations, and check on the results later. Output will not be lost while your browser is closed.


Directory listing of filesystem backups of a CoCalc project
Every couple of minutes, all files in your project are saved in consistent readonly snapshots using ZFS.
This means you can recover older versions of your files in case they are corrupted or accidentally deleted.
These backups are complementary to TimeTravel and provide browsable backups of images and data files in addition to the documents you are actively editing.

Publishing your notebooks

Jupyter notebook hosted on the CoCalc share server
CoCalc helps you share your work with the world. It offers its own hosting of shared documents, which includes Jupyter notebooks and any other associated data files.
Under the hood, CoCalc uses a novel renderer which generates a static HTML representation of your notebook (sanitized to prevent XSS attacks) on the server, which includes pre-rendered LaTeX\LaTeX formulas. This approach is very efficient and lightweight compared to solutions based on nbconvert.

Jupyter notebooks in CoCalc versus the competition

Programming languages
Python, Sage, R, Octave, and many more

Python, R, etc. and customizable

Python 3

Python 3

Python 3, Quip
IPython Widgets
File sharing between users
Realtime collaboration: multiple people use the same notebook together
Possible via experimental extension to JupyterLab.

Colab used to have realtime sync, but it ended in 2017, when Google terminated their realtime API product.
Notebook persists, but data and files do not.
Large preinstalled software environment
1500+ Python libraries preinstalled; extensive R, Julia, Octave, and other packages.


Python3, SQL, Scala, R, and Kotlin kernels; large pre-installed env with top data science packages

27 featured Python packages
Paid Plans
Basic - $2 person/month; Pro - scales linearly depending on the resources you need; Pay as you go access to all VM's that Google Cloud offers with uniquely powerful spot instance price discovery

Free only

Pro - $9.99 person/month; Pro+ - $49.99 person/month

Pro - $19.90 person/month; Enterprise - $125 person/month

Pro - $12 person/month; Enterprise - $99 person / month; plus an additional hourly fee for more powerful compute resources at about 7x the market rate
Disk space
3GB/project for free, and can buy up to 65TB disks via compute servers


Uses your Google Drive storage

Limit of two simultaneously running notebooks

5GB for free
1GB/project for free, and can buy TB's of RAM via compute servers

Limit of two simultaneously running notebooks

several GB for free
Idle timeout
30 minutes for free; pay for more

15 minutes for free; pay for more
Network access
Only for non-free projects; also compute servers provide network access
Public Google-indexed searchable publishing of files
Self hosting
Docker image, Kubernetes Helm charts, on Prem compute servers

Docker image local runtimes
Open source
Partial (noncommercial MS-RSL). Commercial license available.

Some components are open

Some of their modifications to upstreams projects are open source
YES -- pay as you go via compute servers and on prem

Only when self hosted

Yes, for free and paid.

Datalore Professional and when self-hosted
Start free today. Upgrade later.