"Should this be a list or a library?" is the single most asked question in our enterprise SharePoint consulting engagements. It sounds elementary. It is not. Get it wrong on a 500 GB engineering-drawing repository and you spend the next year fighting search relevance, versioning cost, and a permission model that fights back. This article gives you the decision tree, the versioning math, the search gotchas, and 15 real scenarios prescribed for you.
The two-question decision tree
Almost every case resolves with two questions.
- Am I storing files (documents, images, drawings, videos, packaged binaries) as the primary artifact?
- Am I storing records (structured fields the user searches, filters, groups, or reports on) as the primary artifact?
- Files, not records → document library.
- Records, not files → list.
- Both, tightly linked → both, with a lookup column joining them. This is the most common mature pattern.
- Both, loosely linked → library only, with metadata columns capturing the structured data. Acceptable for small volumes; painful past ~50,000 items.
Everything else is a nuance on top of that.
Why the answer matters more than people think
Libraries carry file previews, coauthoring, versioning of the file body, sync clients, and retention that binds to the file. Lists carry rich item-level metadata, JSON formatting, calculated columns, item-level permissions at scale, and Power Apps as a form builder without friction. The engines are the same underlying platform but the tuning is different. Storing 200,000 rows of an operational log in a document library "because that is where we put SharePoint things" is a recipe for a slow, unsearchable, versioning-expensive artifact. The reverse — storing engineering CAD files as attachments on a list — loses previews, coauthoring, sync, and any hope of a decent user experience.
The official differences between lists and libraries doc lays out the platform primitives; this article is about applying them to enterprise reality.
15 real enterprise scenarios — prescribed
| # | Scenario | Prescription | Why |
|---|---------|--------------|-----|
| 1 | CAPA log (Corrective/Preventive Actions) | List | Records with due dates, owners, status; attachments optional |
| 2 | Contract register | Both — list of contracts + library of signed PDFs, linked by lookup | Contract *record* is metadata-heavy; the *file* is the executed PDF |
| 3 | IT asset inventory | List | 15+ structured fields per asset, no primary file |
| 4 | MSDS / SDS files | Library with metadata columns | The file is the artifact; regulators want the PDF |
| 5 | Policy library | Library | Files with owner/effective-date/next-review columns |
| 6 | Employee onboarding tracker | List | Task status per new hire; attachments on a specific step |
| 7 | Engineering drawings (CAD, PDFs) | Library with strict metadata and check-out | Large files, revision control critical, previews matter |
| 8 | Procurement RFPs and responses | Both — RFP list + response library | RFP is a record; each vendor response is a file bundle |
| 9 | Incident register | List | Structured incident records; evidence attached |
| 10 | Project charter repository | Library | Charters are documents; approval state as metadata |
| 11 | Meeting minutes | Library | Files with meeting date/committee columns |
| 12 | Product catalog (SKUs) | List | Records with SKU, price, description, images |
| 13 | Security policies | Library | Formal documents with retention and label requirements |
| 14 | Audit evidence collection | Both — control-test list + evidence library | Control test is a record; evidence is the artifact |
| 15 | Vendor library | Library with vendor-profile columns | MSA/NDA/insurance files per vendor; metadata drives filtering |
The "Both" pattern (contracts, RFPs, audit evidence) is worth reading twice. It is how mature enterprise deployments cleanly separate the *record* the compliance team reports against from the *file* the legal team preserves. A single lookup column joins them.
Versioning cost: the math nobody runs
Versioning is where lists and libraries diverge sharply, and where storage is quietly consumed.
For libraries, each major version of a file is stored as a full copy in the storage layer (with block-level deduplication for large files but not across separate items). A 30 MB PowerPoint edited multiple times a day, with the default 500 major versions retained:
- 5 versions/day × 30 MB = 150 MB/day per file.
- Across 250 workdays = ~37.5 GB/year per file.
- At scale (say, 200 active decks) = ~7.5 TB/year.
For lists, versioning stores item-level property deltas — orders of magnitude smaller. A 20-field item with three edits per day is measured in kilobytes per year, not gigabytes.
This is why "put the engineering drawings in a list with attachments" is such an expensive mistake at scale, and why "put the CAPA log in a library" is quietly wasteful too — every micro-edit to a status field creates a new file version.
Tune major-version retention on high-churn libraries first. A rule of thumb our team uses:
- Regulated documents (SDS, policies, controls): 25 major versions, or the exact number your regulator requires.
- Coauthored office documents: 50 major versions.
- Static assets (images, media): 10 major versions.
- Transient working files: 5 major versions or version off with retention labels instead.
Configure at the library level; the manage storage limits guide covers the tenant-level knobs.
Search-indexing gotchas
Several defaults quietly reduce searchability. Site owners inherit these and never know they are on.
- List views with too many columns: modern SharePoint index-limits kick in at 5,000 items with a view scanning non-indexed columns. Symptom: users see "This view cannot be displayed." Fix: index the filtered column, or reshape the view.
- Managed metadata columns in libraries do not index correctly if the term set has never been re-published; symptom is search returning zero for a term you can see on the file.
- Custom content types need their crawled properties mapped to managed properties before a user-facing search will surface them. See the manage search schema doc for the exact procedure.
- Lookup columns across sites (cross-site lookups on lists) can degrade query performance sharply past ~20,000 rows.
- "Exclude from search" toggle on a library is off by default in most templates but can be flipped in error during a governance push — files then disappear from search entirely.
- Attachments on list items are not previewed and are searched with reduced relevance vs the same file in a library.
The engineering pattern we prefer for a "list + library both" scenario is: keep the list narrow (indexable columns only), use a lookup column from the list to the library, and let the library carry the file's content-type-driven metadata separately. This gives the compliance team a fast list, and the search team a well-indexed library.
The "large list" boundary and why it matters
Both lists and libraries can hold up to 30 million items per collection (with view thresholds), but past ~100,000 rows the user experience diverges. For lists that grow that large, plan indexed columns, filtered default views, and consider Microsoft Dataverse or an operational database backing an embedded SPFx web part rather than SharePoint alone. Our SharePoint consulting engagements often refactor a "list that grew" into a hybrid: the current-year rows live in SharePoint (fast, familiar), and the historical rows live in Dataverse or Azure SQL surfaced via a Power Apps canvas embed. The build for Teams content guide covers the modern web-part patterns.
Permissions at scale: another quiet driver
Item-level permissions on a large list break inheritance thousands of times, which impacts search-trim performance and admin overhead. On a large library, unique permissions on individual files are similarly expensive. If your scenario requires per-record permissions on more than 5,000 items, that is a signal to model the data outside SharePoint and surface it read-only.
A one-page rubric
When your team asks the question again next month, hand them this:
- Is the primary artifact a file? → library.
- Is the primary artifact a record? → list.
- Do you need both? → both, joined by lookup.
- Will the collection exceed 100,000 items? → design indexes and views first, or reconsider the platform.
- Will versioning create runaway storage? → tune major-version retention before you go live.
- Do you need item-level permissions on >5,000 items? → redesign to inherit by group.
- Is search relevance critical? → confirm managed properties are mapped and the library is included in search.
If your team is designing a new information architecture and wants a second opinion before it goes live, our document management practice runs a two-hour review that produces the prescription for every proposed list and library.
FAQ
Expert help from our SharePoint consultants
The list-vs-library question is not the hard part. The hard part is enforcing the answer across an enterprise where each team makes the decision differently. Our SharePoint consulting team builds the taxonomy, the templates, and the governance so the correct pattern is the easy one for your users. Reach out via our contact page and we will scope a review.
Written by the SharePoint Support Team
Senior SharePoint Consultants | 25+ Years Microsoft Ecosystem Experience
Our senior SharePoint consultants bring deep expertise spanning 500+ enterprise migrations and compliance implementations across HIPAA, SOC 2, and FedRAMP environments. We cover SharePoint Online, Microsoft 365, migrations, Copilot readiness, and large-scale governance.
Expert SharePoint Services
Frequently Asked Questions
Should I use a SharePoint list or a document library for a contract register?▼
What is the storage cost difference between list versioning and library versioning?▼
When should I use item-level permissions in a SharePoint list?▼
Can I convert a SharePoint list to a library later if I chose wrong?▼
How does SharePoint search index a list vs a library differently?▼
What is the maximum number of items in a SharePoint list or library?▼
Need Expert Help?
Our SharePoint consultants are ready to help you implement these strategies in your organization.
Continue Reading in Basics
SharePoint Pages vs Sites: Understanding the Difference
Clarify the distinction between SharePoint pages and sites, learn when to use each, and understand how they work together to create effective information architecture.
AI & CopilotMicrosoft Copilot for SharePoint: The Guide for 2025
Everything you need to know about Microsoft Copilot integration with SharePoint, from setup to advanced automation strategies.
MigrationSharePoint Migration Best Practices: 15 Expert...
Learn the proven migration strategies used by leading organizations to migrate to SharePoint Online without disruption.
GovernanceBuilding an Enterprise SharePoint Governance Framework...
Create a governance framework that balances security with productivity, enabling self-service while maintaining control.
Document ManagementEnterprise Document Management in SharePoint: The...
Transform your document management with SharePoint best practices that reduce search time by 50% and improve compliance.
SecuritySharePoint Security Hardening: Protect Your Enterprise...
Comprehensive security guide covering permissions, external sharing, sensitivity labels, and advanced threat protection.
