---
title: "Edit and create dbt models"
source: dbt Core Documentation
source_url: https://github.com/dbt-labs/docs.getdbt.com
licence: Apache-2.0
domain: data-and-analysis
subdomain: dbt-docs
date_added: 2026-04-25
---

import Prerequisites from '/snippets/_canvas-prerequisites.md';

# Edit and create dbt models <Lifecycle status='managed, managed_plus'/> 

<p style={{ color: '#717d7d', fontSize: '1.1em' }}>
Access and use <Constant name="canvas" /> to create or edit dbt models through a visual, drag-and-drop experience. Use the built-in AI for custom code generation in your development experience.
</p>

## Access Canvas

Before accessing the editor, you should have a <Constant name="dbt" /> project already set up. This includes a <Constant name="git" /> repository, data platform connection, environments, and developer credentials. If you don't have this set up, please contact your <Constant name="dbt" /> Admin.

Access **<Constant name="canvas" />** at any time from the left-side menu.

<Prerequisites feature={'/snippets/_canvas-prerequisites.md'} />

## Create a model

To create a dbt SQL model, click on **Create a new model** and perform the following steps. Note that you can't create source models in <Constant name="canvas" />. This is because you need to have production run with sources already created.

1. Drag an [operator](/docs/cloud/canvas-interface#operators) from the operator toolbar and drop it onto the canvas.
2. Click on the operator to open its configuration panel.
3. View the **Output** and **SQL Code** tabs. 
	- Each operator has an Output tab that allows you to preview the data from that configured node.
	- The Code tab displays the SQL code generated by the node's configuration. Use this to see the SQL for your visual model config.
4. Connect the operators by using the connector by dragging your cursor between the operator's "+" start point and linking it to the other operators you want to connect to. This should create a connector line. 
	- Doing this allows the data to flow from the source table through various transformations you configured, to the final output.
5. Keep building your dbt model and ensure you confirm the output through the **Output** tab.


## Edit an existing model
To edit an existing model: 
1. Navigate to a <Constant name="canvas" /> workspace.
2. Click **+Add** on the top navigation bar.
3. Click **Edit existing model**. 

This will allow you to select the model you'd like to edit.

<Lightbox src="/img/docs/dbt-cloud/canvas/edit-model.png" width="90%" title="Edit a model using the 'Edit a model' button." />

## Upload data to Canvas

You can upload a CSV file of source data for model creation directly from <Constant name="canvas" />:

1. Click **+Add**. 
2. Select **Upload CSV source**.
3. Drag your file to the canvas area or click **Upload** to select from your file explorer.

This uploads the data to your data warehouse in a new table in your developer schema. It will be prefixed with `VE_UPLOADS_`.

In the canvas window, it creates a source operator and a basic SQL model that you can customize. You can now work with this data in both <Constant name="canvas" /> and the <Constant name="studio_ide" />.

## Test and document

Testing and documenting your models is an important part of the development process.  

Stay tuned! Coming very soon, you'll be able to test and document your dbt models in <Constant name="canvas" />. This ensures you can maintain high data quality and clarity around how your models ought to be used.
