For the complete documentation index, see llms.txt. This page is also available as Markdown.

Live Experiments

Current experiments available via the Labs program.

These experiments are not final features and may change or be removed. See our Labs documentation page for more information.

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.

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

  1. Open a .py file from the file tree.

  2. Write your Python code in the editor.

  3. 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() statements

  • Errors: 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 NameError or TypeError

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.

1

Set up sharing

There are two access methods:

  • Email invite – directly invite a collaborator using their email address.

    1. Type the email(s), or choose from a list of previous collaborators.

    2. Select the permission level you'd like to assign them.

    3. Click Invite.

  • Link sharing – send or embed a link.

    1. Turn on link sharing for the project by selecting Via sharing links from the dropdown menu:

      The drop down menu showing Via sharing links selected instead of Only invited people (which is the default).
    2. You can revoke link sharing at any time by switching back to Only invited people.

    3. Permissions for collaborators who have already joined the project are retained. You can update their permissions through the Manage access menu.

    4. Click the Copy button next to either the edit (read-and-write) link or the view (read-only) link:

      Two link options, one edit link and one view link. They each have buttons to copy.
    5. Share the link anywhere by pasting from your clipboard.

2

Manage access

Once an invite has been sent, or a collaborator has joined from a link, the Manage access button button appears. Use this to fine-tune individual permissions:

  1. Click Manage access.

  2. Choose the corresponding toggle next to each collaborator to update.

    1. 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:

    2. 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.

1

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).

2

Click the Request access button

Depending on your existing access you will have the following options:

  • Viewer - Users with Viewer permissions will be able to request Reviewer or Editor permissions.

  • Reviewer - Users with Reviewer permissions will be able to request Editor permissions.

Managing requests

1

Notification

The project owner will be notified of the access request by a badge on the Share menu for the project and by email.

The Share button has an orange notification badge that says 1 for 1 access request pending.
2

Update permissions

Use the Manage access menu to accept or decline the request.

The Manage access menu showing a Requestor wanting updated access. There's a toggle for the owner to adjust and then re-share the project or to decline the request.
3

Confirmation

The project owner will get confirmation of the updated access within the Share menu. The requestor will receive an email notification with the owner's decision.

Last updated

Was this helpful?