Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

Dataverse File Column: Size Limits, Setup and Upload (2026 Guide)

“How big a PDF can a Dataverse file column hold?” Our SPGuides IT team asked that before storing warranty documents on asset records, and the answer depends on where you upload from.

In this tutorial, we’ll create a dataverse file column on a real Asset table, set its size limit, add it to a form, and upload, download and delete files from the form and the Web API.

Quick answer: A Dataverse file column defaults to 32,768 KB (32 MB). In Power Apps you can set 1 KB to 131,072 KB (128 MB). Through the API, MaxSizeInKB goes up to 10,485,760 KB (10 GB), but anything over 128 MB must be uploaded in chunks.

What You Need Before You Start

  • A Power Apps environment with Dataverse and a role that can customize tables (System Customizer or System Administrator). New to it? Start with what Microsoft Dataverse is.
  • A table to add the column to. We used an Asset table with 11 rows; here’s how to create a table in Dataverse.
  • A model-driven app or the table’s main form, so people can upload files.

Dataverse File Column Size Limits at a Glance

Here’s every limit in one place. The maker portal and the API don’t share the same ceiling.

LimitValueWhere it applies
Default Maximum file size32,768 KB (32 MB)New file column
Largest size in Power Apps131,072 KB (128 MB)Maker portal (we tested it)
Largest MaxSizeInKB10,485,760 KB (10 GB)Web API or SDK only
Single upload requestUnder 128 MBBigger files need chunked upload
Image column maximum30,720 KB (30 MB)Image columns, for comparison
Change the size laterNot in the designerThe API can update MaxSizeInKB

File data isn’t stored in the relational database. Tables with file columns count toward your tenant’s File capacity, not Database capacity. Developer and trial environments show 0 GB in the capacity report. If you only need pictures, the Dataverse image column guide covers the 30 MB image type.

Step 1: Add a New Column to the Table

Go to make.powerapps.com, pick your environment at the top right, and select Tables. Open the table (ours is Asset), then select + New > Column. Our Dataverse formula column guide starts from the same menu.

Asset table in Power Apps with the + New menu open and Column highlighted

Step 2: Choose the File Data Type

Enter a display name. We used Warranty Document, which created the schema name cr85a_WarrantyDocument. Open Data type, point to File, and pick File from the submenu.

The same submenu holds Image. Pick that only for pictures, because image columns take jpg, jpeg, gif, bmp and png files.

Data type list with File selected and the File and Image submenu options

Step 3: Set the Maximum File Size

Expand Advanced options and find Maximum file size (KB). It starts at 32768. We set 10240 KB (10 MB), since warranty PDFs are small.

Advanced options with Maximum file size set to 10240 KB for the Warranty Document column

Pick it carefully: after you save, the designer won’t let you change it, and only the Web API or SDK can update MaxSizeInKB afterward.

When we typed 10485761, Power Apps showed this message and disabled Save:

The maximum size must be between 1KB and 131072KB.
Maximum file size error The maximum size must be between 1KB and 131072KB

Select Save. The column also gets a hidden companion text column, cr85a_warrantydocument_name, that holds the file name.

Step 4: Add the File Column to the Form

Open Forms, edit the main form, search the Table columns pane for Warranty, and select it to add the field. Then select Save and publish. If the app is part of a solution, keep it in your Dataverse solution.

In the designer preview you’ll see this message:

This record hasn't been created yet. To enable file upload, create this record
Form designer showing the Warranty Document field with the record hasn't been created yet message

That isn’t an error. A file needs an existing row, so users must save a new row once before the upload button appears.

Step 5: Upload, Download and Delete Files on the Form

Open a saved row in your model-driven app. On our HP LaserJet Pro 4001 asset, the field showed Choose File and No file chosen.

Model-driven form for HP LaserJet Pro 4001 with Choose File and No file chosen

After an upload, the file name becomes a download link, with a Delete button next to it. Upload and delete happen right away, not when you save the form, so Discard changes won’t bring a deleted file back.

Dell Latitude 7450 asset form with dell-latitude-7450-warranty.pdf link and Delete button

Upload a File With the Dataverse Web API

For scripts, we uploaded the Dell warranty PDF with a single PATCH request. The URL ends with the file column’s logical name, and the file name goes in the x-ms-file-name header.

PATCH [Organization URI]/api/data/v9.2/cr85a_assets(<assetid>)/cr85a_warrantydocument HTTP/1.1
Content-Type: application/octet-stream
x-ms-file-name: dell-latitude-7450-warranty.pdf

<binary file content>

HTTP/1.1 204 No Content

A GET on the row then returned cr85a_warrantydocument as a file ID (a GUID) plus cr85a_warrantydocument_name. To get the file itself, request $value:

GET [Organization URI]/api/data/v9.2/cr85a_assets(<assetid>)/cr85a_warrantydocument/$value

To remove the file, send a DELETE to the same column URL:

DELETE [Organization URI]/api/data/v9.2/cr85a_assets(<assetid>)/cr85a_warrantydocument

A single request works for files under 128 MB. For anything larger, the first PATCH needs the x-ms-transfer-mode: chunked header, and you send the file in blocks of about 4 MB.

File Column Cheat Sheet

TaskWhere or howOur result
CreateTables > table > + New > Column > FileWarranty Document column
Set sizeAdvanced options > Maximum file size (KB)10240 KB saved
Upload (form)Choose File on a saved rowPDF link + Delete
Upload (API)PATCH …/cr85a_warrantydocument204 No Content
Download (API)GET …/cr85a_warrantydocument/$valueFile bytes
Upload (flow)Dataverse: Upload a file or an imageSame column, same size cap

Can You Use a Dataverse File Column in Canvas Apps and Power Automate?

Yes. In a canvas app, add the file field to an Edit form; it uses the Attachments control, which only uploads or deletes inside a form and saves when the form is submitted. Our Attachments control guide shows the properties.

In Power Automate, the Dataverse connector has Upload a file or an image (table, row ID, column, content and file name) and Download a file or an image. Get the row ID first with Get a row by ID, or create it with the Add a new row action.

Common Mistakes to Avoid

Uploading more than MaxSizeInKB. Our 11 MB file on a 10 MB column came back as a 400 error:

{"code":"0x80044a02","message":"Attachment file size is too big."}

Check the column limit before an upload with this request:

GET [Organization URI]/api/data/v9.2/EntityDefinitions(LogicalName='cr85a_asset')/Attributes(LogicalName='cr85a_warrantydocument')/Microsoft.Dynamics.CRM.FileAttributeMetadata?$select=MaxSizeInKB
  • Making the column required. Required validation doesn’t work with file columns, so check for a file in your process instead.
  • Using it in calculated, rollup or business rule logic. File columns don’t work with business rules, business process flows, charts, rollup or calculated columns.
  • Blocked file types. Extensions such as exe, bat, js and svg are blocked by default under System Settings > General > Set blocked file extensions for attachments.
  • Sending a 200 MB file in one PATCH. Anything over 128 MB needs chunked upload, even when the column allows more.

Next Steps

Next, we’d surface the warranty files in an app. Our guide to get data from Dataverse in Power Apps shows how to read rows and columns into galleries and forms.

We’d pair this file column with these Dataverse guides:

Frequently Asked Questions

What is the maximum file size for a Dataverse file column?

The default is 32 MB. Power Apps lets you set up to 131,072 KB (128 MB), and the API allows MaxSizeInKB up to 10 GB with chunked uploads. Microsoft lists the limits in Work with file column definitions using code.

Can I change the maximum file size after creating the column?

Not in the Power Apps designer. The field is locked after you save the column, but you can update MaxSizeInKB with the Web API or SDK.

Why does my form say “This record hasn’t been created yet. To enable file upload, create this record”?

The row isn’t saved yet. Save the new row once, and the Choose File button appears in the file field.

Does a Dataverse file column use database storage?

No. File column data counts toward Dataverse File capacity, not Database capacity.

What’s the difference between a file column and an image column?

A file column stores any allowed file type up to 10 GB through the API. An image column takes only jpg, jpeg, gif, bmp and png files up to 30 MB and keeps a thumbnail.