# Getting started

**Note:** *this feature is experimental* - users of JavaScript should expect things to break or lack complete functionality. If testing experimental software is your jam, you can use JavaScript experimentally in the app and report any bugs you find [on our GitHub](https://github.com/quadratichq/quadratic/issues) or by [reaching out to us directly](https://www.quadratichq.com/contact).&#x20;

With JavaScript in Quadratic, the world's most popular programming language meets the world's most popular tool for working with data - spreadsheets.&#x20;

## Quick start

1. Select a cell where you want to write JavaScript.

<figure><img src="https://2438361843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1Y5UzPF2x1oIzVJbUK8%2Fuploads%2FJSNrLKoAeHGFOPuTvw5N%2FCleanShot%202024-12-03%20at%2010.13.17%402x.png?alt=media&#x26;token=d5970c74-b51f-47f9-ad50-1ad9ee653932" alt=""><figcaption></figcaption></figure>

2. Press `/` to bring up the cell type menu. Select JavaScript.

<figure><img src="https://2438361843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1Y5UzPF2x1oIzVJbUK8%2Fuploads%2Fb8t81vjlrxwihKFh4AtS%2FCleanShot%202024-12-03%20at%2010.13.53%402x.png?alt=media&#x26;token=56a7dfc9-ca66-4561-8150-4912b633888a" alt=""><figcaption></figcaption></figure>

3. Write JavaScript in the code editor. Return statements are returned to the sheet at the cell position.

<figure><img src="https://2438361843-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ff1Y5UzPF2x1oIzVJbUK8%2Fuploads%2FIBW6Kmy6JOx5UTxim7EU%2FCleanShot%202024-12-03%20at%2012.23.50%402x.png?alt=media&#x26;token=db548605-c5ae-442f-a6e5-68e2874dbd2f" alt=""><figcaption></figcaption></figure>

## Learn more

Below are a bunch of quick links to find more details on how to write JavaScript in Quadratic.

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>Learn how to: <br><span data-gb-custom-inline data-tag="emoji" data-code="1f9f9">🧹</span> <strong>Reference cells using JavaScript</strong></td><td></td><td><a href="../formulas/reference-cells">reference-cells</a></td></tr><tr><td></td><td>Learn how to: <br><span data-gb-custom-inline data-tag="emoji" data-code="1f449">👉</span> <strong>Return data to the sheet using JavaScript</strong></td><td></td><td><a href="return-data-to-the-sheet">return-data-to-the-sheet</a></td></tr><tr><td></td><td>Learn how to: <br><span data-gb-custom-inline data-tag="emoji" data-code="1f4c8">📈</span> <strong>Make API requests using JavaScript</strong></td><td></td><td><a href="api-requests">api-requests</a></td></tr><tr><td></td><td>Learn how to: <br><span data-gb-custom-inline data-tag="emoji" data-code="1f916">🤖</span> <strong>Make API requests using JavaScript</strong></td><td></td><td><a href="api-requests">api-requests</a></td></tr><tr><td></td><td>Learn how to: <br><span data-gb-custom-inline data-tag="emoji" data-code="1f4ca">📊</span> <strong>Visualize data using JavaScript</strong></td><td></td><td><a href="charts-visualizations">charts-visualizations</a></td></tr><tr><td></td><td>Learn how to: <br><span data-gb-custom-inline data-tag="emoji" data-code="1f468-1f4bb">👨‍💻</span> <strong>Import JavaScript packages using ESM</strong></td><td></td><td><a href="packages">packages</a></td></tr></tbody></table>
