Which languages and frameworks are supported?

CodeSandbox works with anything that can run in Docker. We have the best experience for JavaScript (including TypeScript), frontend and full-stack.

Create a sandbox from a template (opens in a new tab), or read more about the difference between client and container sandboxes.

How do I make a sandbox private?

You can set a sandbox as private in two main ways: From the editor, change the privacy setting from the Privacy drop-down under Sandbox Info, and from the dashboard right-click and select make private.

Note that a Pro subscription (opens in a new tab) is required to make sandboxes private or unlisted.

Make private in the editor

I'm getting a 422 error when importing from GitHub, why?

There are a few possible reasons a repo might throw that error on import. The most common are either a lack of a package.json file, or the project using more than 500 modules (files). If you think it's something else, or you're not able to solve this yourself, then get in touch and provide a link to the repo you're importing and we can look into this for you.

Why are my start scripts not having an effect?

For performance reasons we ignore any specified scripts in client sandboxes, instead using a default script. If you need to control the scripts, then we recommend using a container sandbox.

Can I change the Node version used in a container sandbox?

Yes. Container sandboxes that are created after May 10 2021 run Node v14.18.1 (LTS) by default. For backwards compatibility the older sandboxes are on Node v10. However, you can specify a node value to alter the version in sandbox.config.json, which will be used instead. For further details, see configuration.

Can I open the terminal or console or test panel instead of the browser in a sandbox?

Yes, the terminal, console, and problems tabs are all draggable. Click on the tab and drag it up into the bar alongside browser and tests. You can then re-order those items by dragging them in that bar. Whichever is 1st from left to right in the list of tabs is what opens first when other folks view the sandbox. The ordering is maintained within the sandbox. You can also achieve this change by setting a value for "view" in a sandbox config file.

How do I change the font used in the editor?

Ensure the font you want to use has been installed on your computer, then put the name of it first in the comma-separated list under 'Editor: Font Family' from File > Preferences > Settings in the editor.

Are there any limitations with sandboxes?

We currently provide Browser Sandboxes and Cloud Sandboxes. Browser Sandboxes have the following limitations:

  • The maximum file upload size is 7MB for Free users and 30MB for Pro users.
  • Imported sandboxes must contain a package.json file.
  • Cannot use more than 500 modules (files). Note though that node_modules and dependencies are not counted toward this limit.
  • The maximum file size that can be opened in the editor is 2MB. Files uploaded that are larger than that still exist but are linked as a static asset.
  • Terminal commands which alter the filesystem of the container instance aren't synced with files shown in the editor. You'll need to refresh to see files updated this way.
  • When using a container, there is a sync limit of 10 files per second and only files up to 2MB are synced with the editor. Files larger than that still exist but are not shown in the editor's file tree. You're still able to write and read to and from them in your code and they can be seen and edited via the terminal.
  • When using a container, the sandbox sleeps after around 10 minutes and can be woken by opening the sandbox or preview in a web browser.
  • When using a container, the sandbox has a 1GB persistent storage limit, a 1GB vCPU soft limit, and a hard memory limit of 2GB.

Cloud Sandboxes are part of our evolved CodeSandbox experience, so we highly advise you use them to avoid encountering these limitations.

I'm getting a 'Request Entity too Large' error, what should I do?

If you encounter this error when importing or committing, check your sandbox or repo for large binary files and remove them.

Can I use a database on CodeSandbox?

Yes, you can use any database that has a Docker image available. Some popular databases with Docker images include MySQL, PostgreSQL, MongoDB, and Redis.

Do I need to install Docker on my local machine to use it in CodeSandbox?

No, you don't need to install Docker on your local machine. CodeSandbox has built-in support for Docker (opens in a new tab), so you can use it directly in the online development environment.

How do I access the database once it's running in a Docker container?

You can access the database using the appropriate driver for your language or framework. Typically, you'll need to provide the hostname, port number, username, and password to connect to the database.

Can I use multiple databases in the same CodeSandbox project?

Yes, you can use multiple databases in the same project by running multiple Docker containers with different port numbers. However, keep in mind that running multiple databases can put a strain on your system resources and affect performance.

Can I use Docker Compose in CodeSandbox?

Yes, you can use Docker Compose in CodeSandbox to orchestrate multiple containers and define the relationships between them. However, you'll need to create a Docker Compose file and run the docker-compose command in the terminal to start the containers.

Is it safe to use a database in CodeSandbox with Docker support?

Yes, it's safe to use a database in CodeSandbox with Docker support, as long as you follow best practices for security and keep your database credentials private. Docker provides a secure and isolated environment for running containers, so your database is protected from external threats.

How do I troubleshoot issues with my database in CodeSandbox with Docker support?

If you're having issues with your database, you can check the logs of the container to see if there are any error messages. You can also run commands like docker ps and docker logs in the terminal to get more information about the container. Additionally, you can ask for help on the CodeSandbox community forums or consult the documentation of the specific database you're using.

How do I change the editor theme for Browser Sandboxes?

You can change the theme from File > Preferences > Color Theme in the editor.

You can also set a custom VS Code theme. Open VS Code, Press (CMD or CTRL) + SHIFT + P, Enter: '> Developer: Generate Color Scheme From Current Settings', copy the contents and paste it into Preferences > Appearance from the top-right avatar menu. After completing that you need to reload the browser and select "Custom" as your color theme from File > Preferences > Color Theme.

I can't edit my code because of an infinite loop

While we do have infinite loop protection as a configurable option (opens in a new tab) it doesn't prevent all scenarios where infinite loops can occur, such as with incomplete code. When this happens, you can append runonclick=1 to the editor URL to stop the code from being automatically executed enabling you to edit your code to resolve it. For example: https://codesandbox.io/s/new?runonclick=1 (opens in a new tab)

How do I cancel my Personal Pro, Team Pro or Patron plan?

For Team Pro & Personal Pro users, once you've logged in you can downgrade your plan on the Settings page (opens in a new tab).

If you're on one of our legacy Patron plans you can cancel your subscription on the Patron page (opens in a new tab).