Image columns in Dataverse: manage images in your data model

Go back to Glossary
Share:

Understanding Image Columns in Dataverse

Image columns in Microsoft Dataverse give you a dedicated way to store and manage images right inside your business data tables. Unlike generic file columns that can accept almost any file type, image columns are made specifically for image files like JPEG and PNG. This focus is especially helpful in situations where visuals are central to your data, like keeping product photos, employee pictures, or even scanned documents as part of your records.

For many organizations, having visual data alongside traditional text or numbers is a real advantage. Think of a real estate management system, where storing property photos directly in the database just makes sense. Or in HR, where having employee headshots attached to their profiles helps everyone connect a face to a name. By including images right in the Dataverse data model, you can streamline your workflow and avoid the hassle of dealing with external image storage—everything is in one place, making the whole experience smoother for your users.

One thing that sets image columns apart from regular file columns is how they handle images automatically. When you upload an image to an image column, Dataverse takes care of creating a thumbnail for you. This thumbnail is great for quick previews in apps and dashboards, while the original, full-size image is still available if you need a closer look.

These thumbnails really help boost performance, especially in lists, dashboards, or mobile scenarios where internet speed might be an issue. Dataverse makes sure the right image size is shown depending on where you are in the app, which helps keep things running efficiently and ensures your users aren’t left waiting for images to load.

Dataverse uses Azure Blob Storage to keep your image files. What does this mean for you? Your images won’t slow down your database or make storage costs skyrocket, since they’re managed separately from your main data. Azure Blob Storage is built for scale and reliability, and it’s managed by Microsoft, so you benefit from their security standards and compliance certifications like SOC 2 and ISO 27001. Plus, it’s designed to handle large volumes and offers strong disaster recovery, which is a big plus for businesses of any size.

Image columns also make security management simpler. Permissions are inherited from the parent table, so you don’t have to set up separate security for your images—they follow the same rules as your other data. This is especially important for organizations with strict data governance needs. For example, in industries like healthcare or finance where you might be storing sensitive images (think patient records or customer IDs), having security handled at the table level helps you stay compliant with regulations like HIPAA or GDPR and makes audits easier.

Image Columns vs. File Columns

It’s worth considering the difference between image columns and file columns:

FeatureImage ColumnsFile Columns
Supported File TypesJPEG, PNGDocuments, spreadsheets, etc.
Max File Size30MB10GB
Thumbnail GenerationYesNo
Optimized RetrievalYesNo
Use Case ExamplesProduct photos, logosPDFs, CAD drawings

For example, if you need to save a PDF or a CAD drawing, a file column is the way to go. But for product photos or logos, an image column is a much better fit. This lets you tailor your storage approach to the type of data you have and the kind of experience you want your users to have.

Creating and Configuring Image Columns

Building a successful data model often requires integrating advanced tools and services. That’s where power platform consulting services can make a substantial difference. We guide you in leveraging the Power Platform’s full capabilities, ensuring seamless deployment and optimal performance.

From vision to execution

Whether you're just starting or scaling automation, we help turn your ideas into impactful solutions.

When you want to add an image column in Dataverse, you can do it through Power Apps Studio or the classic solution explorer. Start by picking the table you want, then add a new column and select the image data type. You can also choose to make this the primary image for the table, which means it’ll show up as the main visual in your apps and interfaces.

Power Apps Studio makes this process pretty straightforward, with a visual interface that’s easy to follow even if you’re not super technical. If you need more control or are working on a bigger, more complex solution, the classic solution explorer gives you more options for customizing how your entities work.

When setting up your image column, you can:

  • Decide if each row can have just one image or multiple images.
  • Set whether the image is required or optional depending on your business rules.

For example, if every product in your catalog needs a photo for branding reasons, you can make the image column required. If it’s just an extra, you can leave it optional.

Keep in mind these limitations:

  • Each image you upload can’t be bigger than 30MB.
  • Only JPEG and PNG formats are supported.
  • Only one primary image column per table.

Let’s say you’re building a product catalog. You’d add an image column called “Product Photo,” set it as the primary image, and define the file size and format constraints. Now, every product record gets its own photo, which is displayed throughout Power Apps. This approach isn’t just for retail—think vehicle inventories, event management, or digital asset libraries, too.

It’s important to plan carefully during this stage. Double-check which column is set as the primary image and make sure permissions are correct before you go live. In bigger organizations, documenting why you made certain choices can help others down the line and make onboarding new team members much easier.

Image Storage and Performance Optimization

Images in Dataverse are stored using Azure Blob Storage, which keeps them separate from your main database. This not only helps keep your database fast but also lowers storage costs, since file storage is generally cheaper and scales better.

This setup is especially useful for businesses with lots of images—think e-commerce sites or field service apps that need to store photos of products or equipment. By moving image storage to Azure Blob, you can grow your app without worrying about high database costs or slowdowns.

Performance considerations:

  • Image columns have a 30MB limit. For bigger files or other formats, use file columns or link directly to external storage like Azure Blob.
  • Dataverse automatically creates a 144×144 pixel thumbnail for every image. Thumbnails are used in app galleries and lists for quick loading, while the full-size image is still available for detailed viewing.

If you’re building mobile apps with Power Apps, you can enable the “Optimize images for upload” feature. This compresses images before uploading, which is super helpful if your users are taking high-res photos with their phones. It speeds up uploads and saves on storage. For example, a field technician can take photos of equipment, have them compressed automatically, and upload them quickly even over a cellular connection.

Developers can take things further with PowerApps Component Framework (PCF) components. These let you add custom image handling to your apps—like resizing, cropping, or even adding company watermarks—so your images always look the way you want.

It’s important to keep an eye on your storage usage. The Power Platform admin center gives you dashboards and reports to track how much space you’re using, set up alerts, and forecast future needs. This proactive approach helps you avoid surprises and keeps your apps running smoothly.

Integration with Power Apps Applications

Image columns work seamlessly with Power Apps, supporting both canvas and model-driven apps. In canvas apps, you can add image columns to forms and galleries, letting users upload, view, and interact with images right in the app.

This flexibility supports many business scenarios, from inventory tracking to CRM. In a sales app, for instance, reps can attach images of signed contracts or product displays directly to customer records, making documentation easier and communication clearer.

In model-driven apps, the primary image column shows up at the top of forms and in views, giving users a consistent visual reference for each record. Developers can also customize when and how images appear depending on user roles, record status, or specific business logic, so the interface stays relevant and clutter-free.

Uploading and displaying images in Power Apps is straightforward:

  • Users tap or click the image control, pick a file, and it’s uploaded and processed automatically.
  • The thumbnail shows up in lists, and the full-size image is available in detailed views or custom controls.

If your users need to work offline—maybe field workers or salespeople in remote areas—be sure to include the Image Descriptor table in your app’s offline profile. Otherwise, images won’t be available without an internet connection. Testing offline scenarios before launch is a good idea to avoid headaches later.

With Power Apps formulas, you can customize image controls even more. For example, show a placeholder when there’s no image, or validate uploads to allow only certain formats. You can also set up business rules, like preventing uploads on closed cases or highlighting missing images for follow-up.

Power Automate integration takes things a step further. You can set up flows to process, move, or transform images stored in Dataverse. Maybe you want to send an approval request when a new image is uploaded, or automatically back up each image to SharePoint for compliance. This kind of automation opens up a lot of possibilities across the Power Platform.

Advanced Development and API Usage

Developers have several options for working with image columns in Dataverse:

  • The Web API lets you upload, retrieve, and delete images, and you can choose whether you want the thumbnail or the full-size image. This means you can easily integrate images with external systems like customer portals, supplier extranets, or analytics platforms.
  • When transferring image data via APIs, Dataverse uses base64 encoding, which ensures images are transmitted securely and reliably—even across firewalls or older systems that only accept text-based data.
  • If you’re working with the SDK for .NET, there are built-in methods for handling image columns, making integration with custom apps straightforward.

Power Automate flows can react to changes in image columns, so you can set up scenarios like automated image processing, notifications, or syncing with external systems. For advanced needs, developers can build custom PCF components to enhance image handling in Power Apps—think about generating and emailing PDF reports with inspection images, or running uploaded images through a machine learning model in Azure for quality control.

FetchXML and OData queries also support image column data. This is a big help for reporting and analytics, since you can include thumbnails in SSRS reports or dashboards, giving users a richer context. Combining visuals with numeric data can lead to better insights, like tracking product defects with images alongside defect rates in manufacturing dashboards.

Security is always important, and Dataverse handles it by inheriting permissions from the parent table. This means you don’t have to set up separate security for image columns, which not only saves time but helps with compliance. This approach aligns with industry best practices and can make audits easier, especially in regulated industries.

Storage Management and Capacity Planning

Managing storage effectively is key when using image columns in Dataverse. Since images are kept in Azure Blob Storage and use file capacity—not your database capacity—you get significant cost savings and better scalability. This is especially helpful for organizations with tight IT budgets or those that expect to grow over time.

Azure Blob Storage offers features like lifecycle management, which can automate archiving or deleting old images to keep costs in check. Make sure to monitor your storage usage through the Power Platform admin center, where you’ll find analytics on consumption by table, file type, and user activity. You can set up alerts for when you’re nearing your limits, so you can add more capacity before it becomes a problem.

Capacity planning means understanding how many images you’ll need to store and how big they’ll be. For apps that rely heavily on images, you might need to allocate extra storage or set up policies for archiving or deleting old files. Regularly reviewing your usage helps prevent unexpected issues and keeps your apps performing well.

Are you ready to discover the joy of automation?

Whether you have a project in mind or just want to know how we can help, we’re happy to have a conversation

You might also need to set up retention policies, like keeping customer images for a set number of years to meet legal requirements, or deleting images when a project ends. Cost optimization can involve enabling image compression, limiting file sizes, and training users to avoid uploading oversized images. Where it makes sense, you can enforce file formats or naming conventions through app logic or PCF components.

For apps with heavy storage needs, you can look into using content delivery networks (CDNs) or additional Azure features. CDNs help deliver images faster to users in different locations, while Azure’s geo-redundant storage (GRS) provides extra protection for critical data.

Troubleshooting and Common Issues

There are a few common issues to watch out for with image columns in Dataverse:

  • Hitting the 30MB file size limit—if someone tries to upload a bigger image, it won’t work. The solution is to compress or resize images before uploading. You can help users by providing image editing tools right in Power Apps or linking to trusted third-party tools.
  • The image column option might not show up in certain versions of the Data Workspace designer. If that happens, you can switch to the classic solution explorer or use advanced table properties to add the column. Keeping up with Microsoft’s release notes and documentation will help you avoid surprises when platform updates roll out.
  • When exporting data to Excel, only thumbnails are included—not the full-resolution images. If you need the original images for reporting, audits, or legal reviews, you’ll want to pull them directly from Dataverse using the Web API or SDK.
  • Offline access to images depends on how your offline profile is set up. If the Image Descriptor table isn’t included, images won’t be available when you’re not connected to the internet. Testing offline scenarios during app development is a smart move, especially for teams working in the field.
  • API integration can sometimes cause errors if the image data isn’t encoded correctly or if permissions aren’t set up right. Developers should always make sure API requests are authenticated and that image data is base64 encoded. Adding solid error handling and logging can help spot and fix these issues fast, minimizing downtime and frustration.

Regularly monitoring and maintaining your setup—checking logs, storage analytics, and listening to user feedback—will help you catch and resolve problems early. By following best practices for configuration, storage, and integration, you’ll get the most out of image columns in Dataverse and avoid common headaches.

Finally, staying up to date with Microsoft’s updates and being active in user communities like the Microsoft Power Platform Community forums can offer extra support and ideas for getting the most from image columns as the platform evolves.

Frequently Asked Questions

What is the main difference between image columns and file columns in Dataverse?

Image columns are optimized for storing and displaying images (JPEG, PNG) with features like thumbnail generation and a 30MB file size limit. File columns support a wider range of file types, including documents and large files up to 10GB, but do not generate thumbnails.

How does Dataverse handle image storage and security?

Images are stored in Azure Blob Storage, separate from your main database, which improves performance and scalability. Security permissions for image columns are inherited from the parent table, making it easier to manage access and stay compliant with regulations.

What should I do if my image uploads are failing due to size limits?

If you hit the 30MB file size limit, compress or resize your images before uploading. You can use built-in image editing tools in Power Apps or trusted third-party tools to help users prepare images.

Can images be accessed offline in Power Apps?

Yes, but only if the Image Descriptor table is included in your app’s offline profile. Otherwise, images won’t be available without an internet connection. Always test offline scenarios during development.

How can I optimize storage and performance for image-heavy apps?

  • Enable image compression in mobile apps.
  • Monitor storage usage in the Power Platform admin center.
  • Use PCF components for custom image handling.
  • Consider using CDNs and Azure’s geo-redundant storage for large-scale or global deployments.
Share:
Go back to Glossary

Table of Contents

Need expert guidance on Power Platform solutions? Contact us today for professional consulting
Author
Power Platform Consultant | Business Process Automation Expert
Microsoft Certified Power Platform Consultant and Solution Architect with 4+ years of experience leveraging Power Platform, Microsoft 365, and Azure to continuously discover automation opportunities and re-imagine processes.