Introduction
In 2025, Salesforce file storage is more advanced than ever, yet many orgs still live in a strange hybrid world. On the same record, you’ll often spot two different widgets: “Files” and “Notes & Attachments.” Both seem to store documents, both claim to do the same thing, but they behave very differently. So why do both still exist? Which one actually holds your files? And if Salesforce Files replaced Attachments years ago, why hasn’t everyone migrated?

The answer lies in Salesforce’s long and messy evolution of content management. Over the past decade, Salesforce has re-engineered how files are stored, linked, and shared - but the legacy of “Attachments” refuses to die quietly. Countless orgs are still tied to it because of historical data, integrations, and the fear of breaking something that’s ‘still working.’ This isn’t just a minor UX confusion - it affects data storage, automation setups, and compliance workflows and even Salesforce file storage pricing. And with Salesforce tightening its roadmap around Files, every admin eventually faces the same question:
Should we keep our legacy Salesforce Notes & Attachments, or finally move to Salesforce Files…and what happens after we do? This guide dives into exactly that. We’ll decode the story behind these two storage models. Because understanding Salesforce Files vs. Notes & Attachments isn’t just a technical comparison anymore! It’s about choosing how your organization manages documents in the next decade.
To understand why Salesforce Files became the standard, it helps to look at how Notes, Attachments, and documents in Salesforce worked before Lightning. Earlier, orgs used Salesforce Documents for shared assets like templates and logos, and Notes & Attachments for record-specific files. Both consumed Data Storage and lacked features like versioning, sharing, and automation - limitations that Salesforce Files now solve with a unified, scalable model. Read to know more - "Salesforce Files vs Documents: The Ultimate Guide for Admins & Architects"
What to expect in this blog
In this ultimate guide, we’ll break down everything you need to know - from Salesforce’s file storage evolution to migration best practices and cost optimization.
Here’s what you’ll find inside:
- What is Salesforce Notes & Attachments? → A closer look at the legacy Attachment object, how it stores data, its limitations, and why it still exists in many orgs today.
- What is Salesforce Files (and Enhanced Notes)? → The complete architecture of the new system - including ContentVersion, ContentDocument, and ContentDocumentLink - and how it improves collaboration, storage efficiency, and sharing.
- Salesforce Files vs Notes & Attachments: Side-by-Side Comparison → A clear, feature-by-feature table comparing both systems on storage model, sharing, cost efficiency, and Lightning compatibility.
- Where Your Files Are Actually Stored Today → The truth about Classic vs Lightning behavior, why you see two widgets on the same record, and what happens behind the scenes when you upload a file.
- Why Migrating from Notes & Attachments to Salesforce Files Matters → How to decide if your org should migrate, what data truly needs moving, and the cost or compliance triggers that make migration essential.
- How to Plan and Execute a Successful Salesforce Files Migration → A step-by-step look at what really happens during migration - from understanding how attachments transform into Files to choosing the right tools, avoiding common pitfalls, and ensuring a seamless transition without breaking links or losing data.
- The Hidden Cost of Salesforce Files After Migration → Why simply moving to Files doesn’t eliminate storage challenges, and how to manage file sprawl, governance, and rising Salesforce file storage costs.
- How CloudFiles Extends the Power of Salesforce Files → See how CloudFiles integrates with SharePoint, OneDrive, and Google Drive to automate workflows, cut storage costs, and modernize document management.
What is Salesforce Notes & Attachments?
Before Salesforce Files existed, Notes & Attachments was the default way to store documents inside Salesforce. It’s a legacy feature that has been around since the early days of Salesforce Classic, primarily designed for simplicity - upload a file, attach it to a record, and you’re done.
How it worked?
Each attachment was stored as an individual record in the Salesforce’ Attachment object. This record contained binary file data in the Body field and was linked to its parent record (like an Account or Opportunity) through the ParentId. Because of this one-to-one relationship, each file could only belong to a single record. The same file uploaded to 5 Opportunities became 5 separate records, consuming additional storage each time. Attachments also count against Salesforce Data Storage (which is expensive and limited), not File Storage.

Limitations of Notes & Attachments:
- No version control or file preview.
- Files can’t be shared or linked across multiple records.
- No collaboration features like comments or tracking.
- Works only in Classic, not optimized for Lightning.
In short: Notes and Attachments are lightweight and reliable, but they’re based on an outdated data model ('Attachment') that wasn’t built for collaboration, scalability, or modern integrations.
What Are Salesforce Files (and Salesforce Enhanced Notes)?
As organizations grew and collaboration became central to CRM workflows, Salesforce had to completely rethink how files were stored and shared. The old attachment model just couldn’t keep up. Enter Salesforce Files, introduced around 2015 with the launch of Lightning Experience.
The goal wasn’t merely to modernize attachments - Salesforce wanted to build a full-fledged content management system inside the CRM. Files needed to be linkable to multiple records, support previews and version control, allow collaboration through Chatter, and integrate with external systems. To achieve this, Salesforce rebuilt file storage from the ground up, creating an entirely new backend architecture.
Instead of a single 'Attachment' record per file, Salesforce introduced three linked objects:
'ContentVersion'stores each version of a file.ContentDocumentacts as the master record representing the file itself.ContentDocumentLinkconnects that file to one or more parent records.
This model solved the biggest limitation of Attachments - it allowed a single file to be linked to multiple records without duplication. A product brochure can now live once in the system, yet be visible on several Opportunities, Accounts, or Campaigns simultaneously. Files are stored in Salesforce File Storage (cheaper and larger than Data Storage), support previews, version control, sharing, and Chatter collaboration, and can be accessed via APIs and Flows. Keep in mind Salesforce Files storage limits - each file can be up to 2 GB, and total storage depends on your edition and license. Reach "A Brief Guide On Salesforce File Storage Cost"
Files Tab vs Files Record Widget (or Related List)
One of the most common sources of confusion for users and admins alike is understanding the difference between the Files tab and the Files related list (also known as the record widget). Both display “files,” but they operate at different levels of the Salesforce content architecture.

While the Files tab (Salesforce Files) serves as the global library for all files you own or have access to, the Salesforce Files related list - also known as the Files record widget - is where things get contextual. It displays only the files linked to a specific record, such as an Account, Opportunity, or Case, using the Salesforce ContentDocumentLink object.
For example, the Files related list on an Opportunity record will only display files that are explicitly connected to that Opportunity - even if the same file is also linked to other records like the related Account or Campaign.
The key differences are:
Aspect | Files Tab | Files Related List (Record Widget) |
|---|---|---|
Scope | Org-level and user-level visibility | Record-specific visibility |
Source Object |
|
|
Purpose | File management, search, versioning | Contextual access within a record |
Access | User’s personal and shared files | Files linked to the current record |
Typical Users | Admins, content managers | End users working on specific records |
In simple terms, The Files tab is the central repository of all file assets. The Files record widget is where record specific files belong to.
Enhanced Notes: Notes That Collaborate
Alongside the evolution of Salesforce Files, Salesforce re-engineered its note-taking system into what we now call Enhanced Notes. These aren’t simple text fields anymore - they’re rich, collaborative notes built on the same Files architecture, using the ContentNote object. Enhanced Notes allow users to add formatted text, images, and attachments, track versions, and link a single note to multiple records, all while benefiting from the same scalability as Files.

This architectural shift wasn’t cosmetic - it was necessary. The old Attachmentobject couldn’t support Lightning, Salesforce Chatter, or multi-parent linking. Salesforce needed a future-ready content model that aligned with its platform’s direction.
A Quick Timeline
Year | What Changed | Why It Mattered |
|---|---|---|
Pre-2015 (Classic) | Salesforce Notes & Attachments ( | Simple, one-to-one relationship; limited storage and no salesforce file sharing. |
2015–2016 | Salesforce Files launched ( | Introduced sharing, version control, multi-record linking, and cheaper File Storage. |
2016 onwards | Salesforce Enhanced Notes introduced ( | Moved Notes to the Files framework for rich-text collaboration. |
2020+ | Attachments deprecated for new features | Files became the default for Lightning Experience; Attachments remain for legacy use. |
Salesforce Files vs Notes and Attachments
To sum it up, this table captures how Salesforce transformed file handling from a simple attachment-based system to a full-fledged Salesforce content management framework. While Notes & Attachments were limited, one-to-one links stored in expensive Data Storage, Salesforce Files introduced a flexible, multi-record, and collaborative model built for Lightning - complete with versioning, sharing, and cost-efficient File Storage.
Feature | Salesforce Files | Salesforce Notes & Attachments |
|---|---|---|
Storage Model | Centralized storage, linkable to multiple records | Tied to individual records only |
Collaboration | Share, comment, track views, Chatter integration | None — files are static |
Preview & Versioning | File previews, version control with history | No preview, no version history |
Search | Full-text search inside files + metadata visibility | Limited search, mostly by file name |
Integrations | APIs, external storage, and Lightning-ready | Basic API support, Classic-only |
File Size Limits | Up to 2 GB | 25 MB (attachments), 2 GB (feed attachments) |
Salesforce Support | Supported and evolving | Legacy, only maintained for backward compatibility |
Cost Efficiency | Uses File Storage (cheaper per GB than data storage) | Uses Data Storage (expensive and limited) |
So… Where Are My Files Really Stored Today?
Even though Salesforce Files completely replaced the old Attachment architecture, the platform still shows two related lists on most records - Files and Notes and Attachments. It’s one of the most common sources of confusion for admins and users alike: are they storing the same thing twice? The short answer - no, but the long answer explains why the confusion exists.
When Salesforce launched Lightning Experience, it couldn’t immediately remove the “Notes & Attachments” list without breaking thousands of existing orgs and integrations. So Salesforce kept the list visible for backward compatibility - but changed what happens behind the scenes.
In the Classic interface, when a user uploaded a document through the Notes & Attachments related list, Salesforce stored it as an Attachment record. Each attachment was tied to a single record and consumed Data Storage.
In Lightning, the same related list looks identical - but it behaves very differently. When a file is uploaded through it, Salesforce no longer creates a legacy Attachment record. Instead, it creates a Salesforce File, stored as a ContentDocument and ContentVersion. In other words, the Salesforce Notes and Attachments list in Lightning is simply a legacy wrapper displaying modern Files under the hood.
That means you’re not storing duplicates - you’re just seeing two visual entry points for the same modern file system. The Salesforce Files related list shows Files directly, while the Notes & Attachments list continues to exist to display older records and maintain UI consistency for Classic-to-Lightning transitions.


Classic vs Lightning: Where Your Files Actually Live?
Upload Location | Stored As (Backend Object) | Storage Type | Features Available | Behavior |
|---|---|---|---|---|
Classic – Notes & Attachments |
| Data Storage (expensive & limited) | No sharing, no versioning, no preview | True legacy attachments. One file = one record. |
Lightning – Notes & Attachments |
| File Storage (cheaper & scalable) | Versioning, preview, sharing, Chatter | Looks like the old UI, but actually uses the new Files backend. |
Lightning – Files related list |
| File Storage | Full Files functionality | Recommended method. This is the true modern file experience. |
Pre-2015 uploads (Classic) |
| Data Storage | Legacy-only | Old records still stored here. Need migration if you want modern features. |
In short, while the interface may look similar across Classic and Lightning, what happens behind the scenes is completely different - Lightning uploads now use the modern Salesforce Files framework, not the legacy Attachment model.
Why Are There Still Two Widgets on the Same Record?
Now that we know we’re not storing duplicates, the next obvious question is — why does Salesforce still show both Files and Notes & Attachments on the same record? The short answer: because many organizations, and Salesforce itself, still need it. Even though Lightning uploads now use the modern Files architecture, the Notes and Attachments related list continues to appear for very specific reasons. Here’s where it still matters:
1. Historical Attachments (Pre-2015 Data)
Files uploaded before 2015 still live in the legacy Attachment object and can only be accessed via Notes & Attachments. Many orgs retain these for compliance and audit history.
2. Old Integrations and Custom Code
Legacy integrations, Apex triggers, and Visualforce pages still reference the Salesforce Attachment object. Removing it would break existing workflows, so Salesforce keeps it for backward compatibility.
3. Static or Org-Wide Documents
Some files — like logos, templates, or assets used in Visualforce - don’t need sharing or versioning. For these, the simple Attachment model still works perfectly fine.
4. Regulatory and Compliance Dependencies
Industries like finance or healthcare often keep Attachments for immutability, ensuring documents can’t be edited or versioned post-upload — critical for audit trails.
5. Hybrid Orgs in Transition
Orgs using both Classic and Lightning rely on Notes & Attachments for consistency while gradually shifting to Salesforce Files. It keeps workflows intact for all users.
To sum up, If you’re on Lightning, everything new you upload is already a Salesforce File - but the Notes & Attachments list is still your window into all the legacy data, integrations, and compliance records that can’t yet move to the new world.
Why Migrating from Notes & Attachments to Salesforce Files Matters
Salesforce has made one thing very clear over the years - Files are the future, while Attachments are legacy. Migrating to Salesforce Files isn’t just a technical cleanup task; it’s a step toward aligning your org with the platform’s long-term roadmap. But here’s the truth: not every org needs to rush into migration. Before you start moving terabytes of data, it’s worth assessing what you actually have, what really needs to be migrated, and what can safely remain as-is.
Step 0: Know What’s Actually Legacy
Before starting a Notes and Attachments to Files migration, it’s important to confirm what’s truly stored as Attachments versus what’s already a File. Anything uploaded before ~2015 is usually a true Attachment stored in Data Storage, while anything added through Lightning Notes & Attachments is actually a SalesforceContentDocument (a File) just shown in the old UI. That means only the pre-2015 data, and anything still uploaded in Classic, requires actual migration
When Migration from Notes and Attachments to Files Isn’t Necessary
Not every attachment needs to move. If your legacy attachments are static, rarely accessed, or part of historical audit records, they can safely stay where they are.
Examples:
- A Visualforce page logo or company letterhead stored as a Document or Attachment.
- Old email templates or approval artifacts no longer in daily use.
- Archived deals or cases from pre-Lightning years.
For these, migration doesn’t add business value — the files work fine as-is.
When Migration Is a Must
For most growing orgs, though, migrating to Salesforce Files is no longer optional - it’s strategic. You should migrate if:
- You’re seeing rising Data Storage costs.
- Your users are on Lightning and expect file previews, versioning, or sharing.
- You’re integrating with external systems or automating file processes through Flows, APIs, or AI.
- You operate in a regulated industry where audit trails, sharing visibility, or content governance matter.
Example: A financial services firm uploading signed loan documents to Opportunities. Storing these as Files instead of Attachments reduces data storage costs and enables version tracking for compliance reviews.
Quick rule of thumb:
Small org, <10 GB of attachments, no collaboration/compliance needs → Migration can wait.
Medium/large org, rising storage bills, or regulated industry → Migrating to Files is a must-do.

Migrating from Notes & Attachments to Salesforce Files isn’t just cleanup - it’s future-proofing. Files offer better storage efficiency, collaboration, and alignment with Salesforce’s evolving platform. But migration doesn’t need to be rushed. Start by auditing what’s truly legacy, prioritize what impacts performance or compliance, and plan a phased transition. The goal is to move from legacy storage to a scalable, intelligent file system built for the future.
How to Plan & Execute a Successful Salesforce Files Migration
A step-by-step look at what really happens during migration - from understanding how attachments transform into Files to choosing the right tools, avoiding common pitfalls, and ensuring a seamless transition without breaking links or losing data.
Key Considerations Before Migrating
Before running any migration, it’s critical to understand what actually happens behind the scenes. Each legacy Attachment record doesn’t simply “move” - it’s rebuilt in the new Files framework.
Here’s how the transformation works:
- Each
Attachmentbecomes a newContentVersion(which stores the file data). - A
ContentDocumentis created to represent the master file record. - A
ContentDocumentLinkconnects that file to its original parent record.
Once this happens, the original Attachment ID is no longer valid — meaning any Visualforce pages, email templates, or Apex code referencing it directly will break unless updated.
Common Migration Risks to Watch For
- Data Volume: Large libraries may need batching.
- Parent Record Links: Files must remain tied to their original records.
- Metadata & Ownership: Decide what to preserve (CreatedDate, Owner, descriptions).
- Sharing & Permissions: Files use ContentDocumentLink, so access may differ.
- Legacy References: Old attachment URLs in templates, Visualforce, or emails may break.
- Testing & Rollback: Always run pilots in a sandbox before production migration.
Migrating to Salesforce Files is less about “if” and more about “when.” For small and medium orgs, Magic Mover is usually enough. For enterprises or compliance-heavy industries, partner tools or a custom migration offer better control and scalability. Treat migration as a governance project - not just a technical exercise - since it impacts Salesforce data storage costs, collaboration, and user experience in Lightning.
Migration Options
Here are 3 options that you can consider for migrating to Salesforce Files from Notes and Attachments -
Approach | Best For | Pros | Cons |
|---|---|---|---|
Magic Mover (Salesforce Labs, free) | Small/medium orgs with moderate attachments and simple needs | Free, admin-friendly, native to Salesforce | Limited scale, can be slow, less control over metadata & links |
Partner Tools (AppExchange, paid) | Large enterprises or compliance-driven orgs | Handles high data volumes, advanced scheduling, preserves more metadata, vendor support | Licensing costs, setup effort |
Custom Migration (API/Data Loader) | Orgs with unique requirements or technical resources | Maximum control (parent IDs, metadata, ownership, visibility), flexible | Complex, time-consuming, requires dev/admin expertise, high testing overhead |
Hidden Cost of Salesforce Files After Migration
Moving from Attachments to Files is the right move - but migration alone doesn’t magically fix everything. Many orgs discover new challenges once everything is in Salesforce Files:
File Storage Costs Don’t Go Away – Yes, File Storage is cheaper than Data Storage, but it’s still Salesforce-managed storage. As teams upload larger PDFs, videos, and rich media, storage usage grows exponentially. Over time, this can still drive up costs significantly compared to external storage solutions.
File Sprawl & Governance Challenges – Files handle the challenge of manually naming new versions through built-in versioning, but without a governance strategy, orgs can still end up with duplicate content, inconsistent file names, and unclear ownership. Salesforce doesn’t provide out-of-the-box retention policies, automated tagging, or expiration workflows, so clutter builds up quickly.
Limited Enterprise Integrations – While Files are great inside Salesforce, most organizations also run on tools like SharePoint, OneDrive, or Google Drive. Native Salesforce Files integrations are still limited. While Files Connect enables access to some external systems, it doesn’t provide true synchronization or unified storage — forcing teams to manage content in two places and creating data silos where teams have to manage content in two places, driving inefficiency and compliance risks.
In other words, migration to Files is like renovating the house foundation: critical, but not enough to make it livable long-term.
How CloudFiles Extends the Value of Migration
Once you’ve moved to Salesforce Files, the next challenge is making them smarter and more cost-efficient. This is where CloudFiles comes in. Instead of stopping at migration, CloudFiles helps you modernize file management by connecting Salesforce to external storage, automating workflows, and reducing ongoing costs.
- Migration + Automation – Automates mapping, linking, and structuring of files.
- External Storage Connectors – Directly integrates Salesforce with SharePoint, OneDrive, Google Drive, and more, cutting Salesforce storage costs.
- Workflows & AI – Embeds compliance checks, metadata tagging, and contract processing.
- Future-Proofing – Decouples storage from Salesforce, ensuring flexibility as the platform evolves.
Don’t just migrate. Modernize!

Salesforce Files vs. Salesforce Files + CloudFiles
See how CloudFiles takes native Salesforce Files a step further with external storage integration, automation, and AI-powered document management.
Aspect | Salesforce Files (Post-Migration) | Salesforce Files + CloudFiles |
|---|---|---|
Salesforce Storage Costs | Stored in expensive Salesforce File Storage. Costs grow with usage. | Files offloaded to SharePoint, Google Drive, OneDrive, etc. Huge storage savings. |
Collaboration | Native salesforce file sharing, comments, versioning, and record linking. | Same benefits plus external collaboration across enterprise tools. |
Governance & Organization | Limited control over naming, retention, and compliance. | Automated organization, AI tagging, compliance checks, and workflows. |
Integrations | Minimal native connectors; siloed within Salesforce. | Direct connectors to major cloud storage platforms and external systems. |
Migration | Manual or semi-automated; still labor-intensive. | Automated migration with parent ID mapping and streamlined setup. |
Future-Proofing | Tied to Salesforce roadmap and storage model. | Decoupled storage ensures flexibility regardless of Salesforce changes. |
Final Takeaway
Migrating to Salesforce Files is a necessary step - but not the final destination. Files unlock collaboration, version control, and Lightning-readiness that Attachments will never match. Still, without governance, external storage, and automation, they can become just another source of clutter and cost.
That’s where tools like CloudFiles help - bridging Salesforce and external systems to make Salesforce file management smarter, cheaper, and future-ready.
Who are we?
CloudFiles is the all-in-one document platform for Salesforce, delivering AI-powered document processing, secure document management, and automated document generation with e-signature integration. We connect Salesforce with external storage platforms like SharePoint, Google Drive, and AWS S3, while ensuring enterprise-grade security, compliance support, and audit-ready workflows enhance productivity across your entire organization.
Discover on AppExchange - Document AI, Document Management, Document Generation



