Live Experiments
Current experiments available via the Labs program.
Labs experiments are provided as-is, without any guarantee of stability. We recommend avoiding them for critical or deadline-sensitive projects.
These experiments are not final features and may change or be removed. See our Labs documentation page for more information.
The following documentation may not reflect the experiment in its current form. We try to keep it as up to date as possible but some features change fast!
BibTeX visual editor
The BibTeX visual editor is an in-editor panel that lets you view, create, edit, and delete bibliography (.bib) file entries without needing to write raw BibTeX code.
Managing your entry list
The entry list shows all your parsed BibTeX entries in a simple table. You can sort the list by key, type, author, title, or year to find exactly what you're looking for.
Adding and editing entries
To add a new reference, just click the Add entry button. If you want to change an existing one, click on its row to open the entry form. This form includes all the standard BibTeX fields you might need.
Importing references
You can easily bring in new data by clicking the Import button. You can either paste raw BibTeX text or upload a file, and we'll merge those entries into your current project.
Deleting entries
If you need to tidy up your file, you can delete multiple entries at once using the checkboxes:
Select individual entries: Use the checkbox next to any row.
Select everything on a page: Click the checkbox in the header. If you've only selected a few items, clicking this will select the rest of the page for you.
When you've selected your entries, a Delete button will appear in the toolbar. Click it to remove all selected entires.
Your selections stay active even when you navigate to a different page.
Permissions
Your ability to edit depends on your project permissions. If you have Owner or Collaborator (with edit access) status, you can add, change, or delete entries. Read-only users can see the list but won't be able to make changes.
Rolling TeX Live releases (advanced)
This experimental version is primarily for testing changes to TeX Live, packages, and previewing new accessibility features before they’re compiled into our annual TeX Live release.
Note that these images change month to month and are untested by our team. Important projects should continue to be built on our yearly release to avoid issues that may occur when the monthly build changes.
Once you have joined, you will need to select a the rolling TeX Live version.
Find out more on our TeX Live documentation page.
Python Script Runner
The Python Script Runner lets you write and run Python scripts directly in your Overleaf project. Any files your script generates—figures, CSVs, or other outputs—are saved to the file tree and are available to use in your LaTeX document.
Activate the Python Script Runner
To use the Python Script Runner, open any .py file from your project's file tree. The editor switches to Python mode and a Run button appears.
If your project doesn't have a .py file yet, create one using the New file button in the file tree.
Write and run a script
Open a
.pyfile from the file tree.Write your Python code in the editor.
Select Run to execute the script.
To stop a script while it's running, select Stop.
Understand the output panel
When you run a script, the output panel opens below the editor. It shows:
Standard output: text printed by your script, such as the result of
print()statementsErrors: if your script fails, the output panel shows what went wrong. There are two types:
Environment errors: for example, a package that isn't available in the runner. Check the list of supported packages before importing.
Code errors: syntax mistakes or runtime errors in your script, such as a
NameErrororTypeError
Use files from the file tree as inputs
Your script can read files already in your project—for example, a .csv you've uploaded:
import csv
with open("data.csv") as f:
reader = csv.reader(f)
for row in reader:
print(row)Save output files to the file tree
Any files your script writes are saved to the project file tree automatically. For example, a figure saved with plt.savefig("output.png") will appear in the file tree and can be included in your LaTeX document using \includegraphics{output.png}.
Supported packages and Python version
The Python Script Runner uses Pyodide 0.29.3, which runs Python 3.13.2. A full list of supported packages is available on the Pyodide packages page.
Known limitations
Scripts run in your browser using your local system resources. Large or computationally expensive scripts may be slow or cause the tab to become unresponsive.
Only packages available in Pyodide are supported. Packages that require native code or are not in the Pyodide distribution cannot be installed.
Give feedback
The Python Script Runner is an early experiment and your feedback helps shape where it goes. Share what's working, what isn't, and what you'd like to see using our feedback survey.
If you think the experiment has caused data loss or a serious issue, please also contact Support directly.
Leave the experiment
You can leave this experiment at any time from the Labs page. Your projects and settings will not be affected.
New Project Sharing Experience - Manage access
Introducing a more streamlined way to share your projects. Dive into each of your collaborator's permissions in the Manage access menu.
Set up sharing
There are two access methods:
Email invite – directly invite a collaborator using their email address.
Type the email(s), or choose from a list of previous collaborators.
Select the permission level you'd like to assign them.
Click Invite.
Link sharing – send or embed a link.
Turn on link sharing for the project by selecting Via sharing links from the dropdown menu:

You can revoke link sharing at any time by switching back to Only invited people.
Permissions for collaborators who have already joined the project are retained. You can update their permissions through the Manage access menu.
Click the Copy button next to either the edit (read-and-write) link or the view (read-only) link:

Share the link anywhere by pasting from your clipboard.
Manage access
Once an invite has been sent, or a collaborator has joined from a link, the
button appears. Use this to fine-tune individual permissions:
Click Manage access.
Choose the corresponding toggle next to each collaborator to update.
If the collaborator has already joined the project, you will see options to change their role to Owner, Editor, Reviewer, or Viewer. You can also Remove their access to the project:

If the invite is still pending, you will see the options to Resend or Revoke the invite:

New Project Sharing Experience - Request access
Don't have the access you want for a project? Request it right from the toolbar.
Open the project
Open any project you have previously joined.
Note: The owner of the project needs to be enrolled in the Labs experiment (New project sharing experience).
Managing requests
Last updated
Was this helpful?


