“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.
| Limit | Value | Where it applies |
|---|---|---|
| Default Maximum file size | 32,768 KB (32 MB) | New file column |
| Largest size in Power Apps | 131,072 KB (128 MB) | Maker portal (we tested it) |
| Largest MaxSizeInKB | 10,485,760 KB (10 GB) | Web API or SDK only |
| Single upload request | Under 128 MB | Bigger files need chunked upload |
| Image column maximum | 30,720 KB (30 MB) | Image columns, for comparison |
| Change the size later | Not in the designer | The 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.

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.

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.

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.

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

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.

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.

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
| Task | Where or how | Our result |
|---|---|---|
| Create | Tables > table > + New > Column > File | Warranty Document column |
| Set size | Advanced options > Maximum file size (KB) | 10240 KB saved |
| Upload (form) | Choose File on a saved row | PDF link + Delete |
| Upload (API) | PATCH …/cr85a_warrantydocument | 204 No Content |
| Download (API) | GET …/cr85a_warrantydocument/$value | File bytes |
| Upload (flow) | Dataverse: Upload a file or an image | Same 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.

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.