SharePoint Web Parts: Building Dynamic, Interactive Pages
Web parts are the building blocks of SharePoint modern pages. Each web part provides a specific function, from displaying text and images to aggregating content from across your tenant. Choosing the right web parts and configuring them effectively is the difference between a useful SharePoint page and a cluttered, confusing one.
This guide covers all major web parts available in SharePoint Online, their configuration options, use cases, and performance considerations.
---
Web Part Categories
Content Web Parts
Text is the most fundamental web part. Supports rich formatting including headings, bold, italic, lists, tables, links, and code snippets. Use heading hierarchy correctly for accessibility and search optimization.
Image displays images from SharePoint, OneDrive, web URLs, or stock image search. Configure alt text for accessibility, image sizing, captions, and optional links. Always set alt text on every image.
File Viewer embeds Office documents, PDFs, and other files directly in the page. Users can view the document without downloading it. Supports Word, Excel, PowerPoint, PDF, and Visio files.
Divider adds a horizontal line between sections of content. Use to create visual separation without adding a new page section.
Spacer adds vertical whitespace between web parts. Adjustable height for fine-tuning page layout.
Dynamic Content Web Parts
Highlighted Content is the most versatile dynamic web part. It queries SharePoint content and displays results in a card, list, filmstrip, or compact layout. Filter by content type, site, library, managed metadata, or date range. Use this web part to create dynamic pages that automatically surface relevant content.
Configuration options:
- Source: This site, a specific site, all sites in the hub, or all sites in the tenant
- Filter: Document type, managed metadata, date range, or custom query
- Sort: Most recent, most popular, managed property
- Layout: Cards, list, carousel, filmstrip, or compact
News aggregates news posts from specified sources. Configure sources (this site, hub sites, specific sites, recommended), number of items, and layout (top story, list, hub news, carousel, or tiles).
Events displays events from a SharePoint events list. Shows upcoming events with date, time, location, and description.
Sites displays a list of sites the user follows, suggested sites, or sites from a specific hub.
Interactive Web Parts
Quick Links displays a collection of links in configurable layouts. Layouts include Compact, List, Tiles, Button, Grid, and Filmstrip. Each link can have a custom icon, description, and audience targeting.
Call to Action displays a prominent button-style link. Use for primary actions like Contact Us, Submit Request, or Get Started.
Hero displays 1 to 5 items in a visually prominent layout. Each item has an image, title, description, and link. Use on landing pages as the first visual element.
Countdown Timer displays a countdown to a specific date. Use for event launches, deadline reminders, or milestone tracking.
People and Communication
People displays team members or contacts with photos, titles, and contact links from Azure AD profiles. Add specific people by name or use a dynamic group.
Yammer/Viva Engage embeds a Viva Engage feed in the page. Shows community conversations, highlights, or specific topics.
Microsoft Forms embeds a survey or quiz directly in the page. Users can complete the form without leaving SharePoint.
Stream embeds video content from Microsoft Stream. Configure autoplay, start time, and sizing.
Data and Visualization
List displays a SharePoint list with its current view configuration. Users can interact with the list (filter, sort, add items) directly on the page.
Document Library embeds a library view with full interaction capabilities.
Quick Chart creates simple bar or pie charts from manually entered data or SharePoint list data. Suitable for simple metrics and KPIs.
Power BI embeds a Power BI report or dashboard. Requires Power BI Pro or Premium licensing for viewers. Provides interactive data visualization within SharePoint pages.
Embed displays content from external sources using iframe embedding. Supports websites, apps, and third-party tools that provide embed codes.
---
Web Part Configuration Best Practices
Property Panel
Every web part has a property panel accessible by clicking the edit (pencil) icon on the web part. The property panel contains all configuration options organized in tabs.
Data Source Configuration
For dynamic web parts (Highlighted Content, News, Events), carefully configure data sources. Overly broad sources (all sites in tenant) return too many results and slow page load. Scope to the smallest source that provides the needed content.
Layout Selection
Choose layouts based on the content type and available space. Use card layouts for visual content with images. Use list layouts for text-heavy content with many items. Use carousel and filmstrip layouts for browsable collections. Use compact layouts when space is limited.
Audience Targeting
Many web parts support audience targeting. When enabled, you can show different content to different user groups based on Azure AD security groups or Microsoft 365 groups. Use audience targeting on Quick Links to show role-specific navigation, on News to show department-specific announcements, and on Highlighted Content to surface role-relevant documents.
---
Custom Web Parts with SPFx
When to Build Custom
Build custom SPFx web parts when no out-of-box web part meets the requirement, when you need integration with external APIs, when complex business logic is required, or when you need a completely custom UI.
SPFx Development Basics
SPFx (SharePoint Framework) web parts are built with TypeScript and React (recommended) or other JavaScript frameworks. They run in the browser context and interact with SharePoint through the SPFx API and Microsoft Graph.
```typescript
// Basic SPFx web part structure
import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base';
import * as React from 'react';
import * as ReactDom from 'react-dom';
export default class CustomWebPart extends BaseClientSideWebPart
public render(): void {
const element: React.ReactElement = React.createElement(
CustomComponent,
{
context: this.context,
properties: this.properties,
}
);
ReactDom.render(element, this.domElement);
}
}
```
Deployment
Deploy SPFx web parts through the SharePoint App Catalog (tenant-wide) or a site-level app catalog (site-specific). Tenant-wide deployment makes the web part available on all sites. Site-level deployment limits availability to specific sites.
---
Performance Optimization
Web Part Count
Each web part adds to page load time. Keep the total number of web parts per page under 15. Pages with 20 or more web parts will have noticeably slower load times, especially on mobile devices and slower connections.
Data-Heavy Web Parts
Web parts that query SharePoint data (Highlighted Content, News, List) make API calls during page load. Minimize the number of data-heavy web parts per page. Configure them to return the minimum number of items needed.
Third-Party Web Parts
Evaluate third-party SPFx web parts for performance impact before deploying to production. Check JavaScript bundle size (should be under 500 KB), number of external API calls, and rendering performance on mobile devices. Request performance benchmarks from the vendor.
Image Optimization
Web parts that display images (Hero, Image, News) benefit from optimized image files. Resize images to the display size before uploading. Use JPEG for photos and PNG for graphics. Compress images to reduce file size without visible quality loss.
---
Web Part Governance
Approved Web Part List
Maintain a list of approved web parts for your organization. Include all out-of-box web parts that are allowed, approved third-party web parts with vendor and support information, custom SPFx web parts with owner and documentation, and blocked web parts (such as Embed for security reasons).
Web Part Usage Auditing
Periodically audit which web parts are used across your sites. Identify unused custom web parts that can be retired, security-sensitive web parts (Embed, Script Editor) that need review, and performance-heavy web parts on high-traffic pages.
---
Frequently Asked Questions
Can I restrict which web parts site owners can use?
Yes. Tenant administrators can block specific web parts from being used. Use the Set-SPOTenant cmdlet with the DisabledWebPartIds parameter to block specific web part IDs.
Do web parts work in Teams?
SharePoint pages embedded in Teams tabs display all web parts. However, some web parts may have reduced functionality in the Teams context (for example, navigation web parts may not work as expected).
Can I copy web parts between pages?
Yes. Use the copy and paste shortcuts (Ctrl+C, Ctrl+V) to copy web parts between pages on the same site. Cross-site web part copying is supported for most web part types.
---
For help designing SharePoint pages with the right web part strategy, [contact our team](/contact) for a page design assessment. We build SharePoint page experiences for organizations where [user engagement and information architecture](/services) directly impact business outcomes.
Written by Errin O'Connor
Founder, CEO & Chief AI Architect | Microsoft Press Bestselling Author | 25+ Years Microsoft Ecosystem
Errin O'Connor is a Microsoft Press bestselling author of 4 books covering SharePoint, Power BI, Azure, and large-scale migrations. He leads our SharePoint consulting practice with expertise spanning 500+ enterprise migrations and compliance implementations across HIPAA, SOC 2, and FedRAMP environments.
Expert SharePoint Services
Need Expert Help?
Our SharePoint consultants are ready to help you implement these strategies in your organization.