> For the complete documentation index, see [llms.txt](https://docs.overleaf.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overleaf.com/accounts-and-security/overleaf-labs/live-experiments.md).

# Live Experiments

Current experiments available via the Labs program.

{% hint style="danger" %}
Labs experiments are provided as-is, without any guarantee of stability. We recommend avoiding them for critical or deadline-sensitive projects.
{% endhint %}

These experiments are not final features and may change or be removed. See our [Labs documentation page](/accounts-and-security/overleaf-labs.md) for more information.

{% hint style="warning" %}
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!
{% endhint %}

<details>

<summary><strong>BibTeX visual editor</strong></summary>

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.

{% hint style="success" %}
Your selections stay active even when you navigate to a different page.
{% endhint %}

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

</details>

<details>

<summary><strong>Rolling TeX Live releases (advanced)</strong></summary>

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.

{% hint style="info" %}
Once you have joined, you will need to [select a the rolling TeX Live version](/getting-started/recompiling-your-project/selecting-a-tex-live-version-and-latex-compiler.md).
{% endhint %}

Find out more on our [TeX Live documentation page](/troubleshooting-and-support/tex-live.md).

</details>

<details>

<summary><strong>Python Script Runner</strong></summary>

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](https://pyodide.org/en/stable/usage/packages-in-pyodide.html) 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:

```python
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](https://pyodide.org/en/stable/usage/packages-in-pyodide.html) 0.29.3, which runs Python 3.13.2. A full list of supported packages is available on the [Pyodide packages page](https://pyodide.org/en/stable/usage/packages-in-pyodide.html).

## 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](https://forms.gle/RSQTZWfFd5AvzZX4A).

If you think the experiment has caused data loss or a serious issue, please also [contact Support](https://www.overleaf.com/contact) directly.

## Leave the experiment

You can leave this experiment at any time from the [Labs page](https://www.overleaf.com/labs/participate). Your projects and settings will not be affected.

</details>

<details>

<summary><strong>New Project Sharing Experience - Manage access</strong></summary>

Introducing a more streamlined way to share your projects. Dive into each of your collaborator's permissions in the Manage access menu.

{% stepper %}
{% step %}

#### 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:

     <figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FRCRWaXTOCE1jXWgsgrSk%2Fimage.png?alt=media&amp;token=bf39ac51-a364-4a99-8979-ee4a70bffa15" alt="The drop down menu showing Via sharing links selected instead of Only invited people (which is the default)." width="274"><figcaption></figcaption></figure>
  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](#manage-access) menu.
  4. Click the **Copy** button next to either the **edit** (read-and-write) link or the **view** (read-only) link:

     <figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2F5ijjThlnTHVcFhr9cwdj%2Fimage.png?alt=media&amp;token=3c56150a-a9c1-4de9-9eb0-eea9629911d2" alt="Two link options, one edit link and one view link. They each have buttons to copy." width="375"><figcaption></figcaption></figure>
  5. Share the link anywhere by pasting from your clipboard.
     {% endstep %}

{% step %}

#### Manage access

Once an invite has been sent, or a collaborator has joined from a link, the <img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FtvQo8HD3S86GbqR9xWFG%2FManage%20Access-%20Light.png?alt=media&amp;token=cce4f279-24cd-4f0a-b4fe-02dfc42a3ade" alt="Manage access button" data-size="line"> 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:

      <figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FwDgZZeQ9QRl9upRfhmCr%2FManage%20access%20menu.png?alt=media&amp;token=f5a570c9-d559-4285-8fc3-beafc2f58bb1" alt="" width="375"><figcaption></figcaption></figure>
   2. If the invite is still pending, you will see the options to **Resend** or **Revoke** the invite:

      <figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2F6kqTeynkFo20CSdSkWtv%2FInvite%20options%20-%20pending%20invite.png?alt=media&amp;token=276d5b2c-70e2-40e3-9166-689619c7056d" alt="" width="375"><figcaption></figcaption></figure>

{% endstep %}
{% endstepper %}

</details>

<details>

<summary><strong>New Project Sharing Experience - Request access</strong></summary>

Don't have the access you want for a project? Request it right from the toolbar.

{% stepper %}
{% step %}

#### Open the project

Open any project you have previously joined.

{% hint style="info" %}
Note: The owner of the project needs to be enrolled in the Labs experiment ([New project sharing experience](https://www.overleaf.com/labs/participate)).
{% endhint %}
{% endstep %}

{% step %}

#### Click the Request access button&#x20;

<figure><picture><source srcset="/files/nsK0xLI0x7nzzT9iY56r" media="(prefers-color-scheme: dark)"><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FB04sRllToER9LlNXqCcd%2Fimage.png?alt=media&amp;token=e0d98708-d8d9-458d-a486-1c631249be8e" alt="" width="284"></picture><figcaption></figcaption></figure>

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.
  {% endstep %}
  {% endstepper %}

### Managing requests

{% stepper %}
{% step %}

#### Notification

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

<figure><picture><source srcset="/files/yb6au8keiVx9cf0MVbEc" media="(prefers-color-scheme: dark)"><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2Fm9bneePTcBM6REuXIDRC%2FAccess%20Request%20Notification%20-%20light.png?alt=media&amp;token=3dbb395e-2b8a-4d18-9513-01c05211da8f" alt="The Share button has an orange notification badge that says 1 for 1 access request pending." width="247"></picture><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Update permissions

Use the **Manage access** menu to accept or decline the request.&#x20;

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FLGYvp4FiPtC7h4VjP32w%2Fimage.png?alt=media&amp;token=29622c99-aac9-41ad-bb8c-2f0a1d7fe954" alt="The Manage access menu showing a Requestor wanting updated access. There&#x27;s a toggle for the owner to adjust and then re-share the project or to decline the request." width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### 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.
{% endstep %}
{% endstepper %}

</details>

<details>

<summary><strong>New Project Sharing Experience - Single share link</strong></summary>

Instead of two links (one for View and one for Edit permissions), copy a single share link per project and modify individual permissions through the [Manage Access menu](#manage-access).

{% stepper %}
{% step %}

#### Click Share

Click on the **Share** button at the top right corner of the project.
{% endstep %}

{% step %}

#### Choose your audience

**Only invited people** is the default. Select **Anyone with the link** from the audience drop down menu to activate the share link.

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FPNkiNBlc0hG4gE1dah0t%2FAnyone%20with%20the%20link.png?alt=media&amp;token=3c19ff4c-2eaa-4982-ba11-4976482269ed" alt="The Share menu showing the sharing options 1. Only invited people (default) 2. Anyone with the link (selected with green highlight)." width="375"><figcaption></figcaption></figure>

{% endstep %}

{% step %}

#### Set the permission level for the link

* **Viewer** (default)
* **Editor**
* **Reviewer**

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2F2rdSi2zN4Q1RHEhLa8jw%2Fimage.png?alt=media&amp;token=4c339abd-252c-428c-a2ad-931fc49b62f1" alt="A list of three options for the share link permissions. They are Editor, Reviewer, and Viewer. The Viewer option is selected, highlighted in green with a checkmark." width="183"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Copy Sharing Link

Click <img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2F3pMkdz2ck8ANfl2jGU7v%2FCopy%20sharing%20link.png?alt=media&amp;token=e7dcde69-f9db-4d0a-9ee5-b955c543e543" alt="Copy Sharing Link button" data-size="line"> (bottom left) and paste to start collaborating.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Sharing link URLs *won't* change if you change permissions, so you don't stress if you need to revise. Anyone that joins the project going forward will automatically be assigned the new permission level. \
To view or update individual user access, click [Manage access](#manage-access).
{% endhint %}

**What about legacy sharing links?**

If your project has legacy sharing links you can maintain them as before.

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FsW1cd6pr413aKq5GXOaB%2Fimage.png?alt=media&amp;token=2fb9091e-56ae-47f5-af08-0ff02c318b63" alt="The Share menu showing Legacy sharing links active. It shows a hypothetical Edit link and View only link." width="375"><figcaption></figcaption></figure>

Or swap to the single, stable sharing link by choosing a different option on the list. This will remove the original links and consolidate them into a single new one (after you confirm).

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FAGViTzClhekLzGxrzi4z%2Fimage.png?alt=media&amp;token=c9bd9849-cada-4339-88d9-4fd4e97262e7" alt="A warning when removing original sharing links. It says &#x22;This change will permanently remove your original sharing links. You can still share a new link to the project when you choose a relevant sharing option. The options are to 1. Cancel or 2. Remove original links." width="375"><figcaption></figcaption></figure>

</details>

<details>

<summary><strong>Command palette</strong></summary>

Get all your favorite commands (like recompiling, searching the file tree, or changing the view mode) right from your keyboard.

{% stepper %}
{% step %}

#### Press Ctrl+P /Cmd-P to bring up the Command palette

This will open a floating command window.
{% endstep %}

{% step %}

#### Search for a command or file

Start typing to search for the command you want. There are a few command groups:

* **File:** commands that have to do with the file tree
* **View:** commands to manipulate the way the editor looks
* **Insert:** commands to add something in your code like a table, link, or citation

It also searches your file tree for matches so you can swap files.

{% hint style="info" %}
Have a suggestion about this feature like a missing command? We really appreciate your [feedback](https://forms.gle/7GDijJss8JVcPmow6).
{% endhint %}

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FerzZjUiMjVjcC0MSdqSO%2FScreen%20Recording%202026-08-14%20at%2010.13.33.gif?alt=media&amp;token=755d3cc8-db1f-470b-ab1e-5a10845af807" alt="The command palette pops up with a list of various commands to choose from. The user searches for and selects Settings. The settings menu pops up. " width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}

#### Hit enter to execute

Confirm your command selection by hitting the enter key. The palette will close automatically and perform the chosen command.
{% endstep %}
{% endstepper %}

</details>

<details>

<summary><strong>Visual Markdown Editing</strong></summary>

Write in markdown and preview it visually. Create a `.md` file and toggle between **Code** and **Visual** to edit either as plain text or as a rendered document.

{% stepper %}
{% step %}

#### Create or upload a .md file

Click the **New file** button and change the file type to `.md` or choose **Upload** to add an existing file.

<figure><picture><source srcset="/files/bGKl0kOQcj8BDhDk3zPZ" media="(prefers-color-scheme: dark)"><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FCP1xvUFQNr59QGlB9GSz%2FScreenshot%202026-08-21%20at%2011.14.00.png?alt=media&amp;token=11af11dd-07db-4b21-bd9f-f647453be2f3" alt="The Add files menu showing a new file being created called demo.md. The Upload options second in the sidebar menu." width="375"></picture><figcaption></figcaption></figure>

{% hint style="info" %}
You can also ask the AI assistant to generate a markdown file on your behalf.
{% endhint %}
{% endstep %}

{% step %}

#### Select the Visual editor

Choose the Visual editor to preview the styling of `.md` file. You can edit from either mode.

<figure><picture><source srcset="/files/QJnSY06J1mLcutAEwxal" media="(prefers-color-scheme: dark)"><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FIjBDBdT4caj7X170WMxS%2FScreen%20Recording%202026-08-25%20at%2010.30.30.gif?alt=media&amp;token=c78ff2d7-3caa-462b-a413-f20f25d338d9" alt="Swapping back and forth between Code and Visual mode at the top of the editor. When switched to Visual it switches from pure code to showing some text styling reflected." width="375"></picture><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Have a suggestion about this feature? We really appreciate your [feedback](https://forms.gle/7GDijJss8JVcPmow6).
{% endhint %}

#### Example

Because LLMs work well with `.md` files you can ask them to edit on your behalf. In this example, the AI assistant is crossing off the tasks under the Bibliography section. Those task are then modified to have strikethrough styling.

<figure><picture><source srcset="/files/RZnI5vrwBTt8ERYt5mrj" media="(prefers-color-scheme: dark)"><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2Fa8zrbZWe3nQH0ifT4rJB%2FVisual%20MD%20-%20light.png?alt=media&amp;token=de1b26b1-d38f-4f23-ba64-faba9e5f689c" alt="A Science Textbook Example open to a supplemental TODO list markdown file. The AI assistant panel is open with the prompt: Cross off the tasks under the Bibliography heading in my TODO list."></picture><figcaption></figcaption></figure>

</details>
