How to Bulk Edit SharePoint Metadata, and Why Metadata Matters

To bulk edit SharePoint metadata, select the items and change the column in the details pane, or use Edit in grid view to paste values down a column. Both work for a few hundred items in one library. For thousands of items, or the same change across many sites, use PnP PowerShell, which can also keep the Modified date and skip new versions, or a tool such as SharePoint Essentials Toolkit. The toolkit finds blank or wrong values across sites free.

Published:

Last updated: 2026-10-27

Why is metadata important?

Metadata is the columns on a list item or file, such as Document Type, Client, Department or Status. It's the difference between a library people can use and a folder dump.

  • Finding things. Filtered views, column filters and search refiners all work on metadata. "Contracts for Contoso signed in 2026" is one filter, not a hunt through nested folders.
  • Search and Copilot. SharePoint search indexes column values, and Microsoft 365 Copilot works from what search can find. A file titled Document1.docx with no properties is hard for either to place in context.
  • Large lists. Above the 5,000-item list view threshold, views that filter on indexed columns keep working where folder-browsing gets slow.
  • Consistency. Choice and managed metadata columns mean everyone tags "Human Resources" the same way, not "HR", "H.R." and "People team".
  • Governance. Metadata can drive views, retention and labeling rules, and makes reports meaningful.
Metadata isn't security. A column value doesn't stop anyone opening a file. Permissions do. If a file is sensitive, fix who can access it; see the SharePoint permissions report guide.

Option 1: Built-in ways to bulk edit

The details pane, for a few files

  1. In the library, tick the files you want to change.
  2. Open the details pane (the i icon at the top right).
  3. Change the column. The value is applied to every selected file.

Best for tagging a handful of files with the same value. Each file gets a new version, and Modified By changes to you.

Edit in grid view, for a few hundred items

  1. Open the list or library and select Edit in grid view.
  2. Type a value, or paste a column of values copied from Excel. Drag the fill handle to copy a value down.
  3. Select Exit grid view. Changes save as you go.

Microsoft covers it in Add, edit, or delete list items. Grid view is the modern name for Quick Edit and the old Datasheet view.

Column default values, so new uploads are tagged

In Library settings > Column default value settings, set a default per library or per folder, for example Department = Finance for everything in the Finance folder. It applies to files added afterwards, not to existing ones, but it stops the problem growing.

Power Automate, for ongoing rules

A flow triggered by "When a file is created" can set columns from the folder path, the file name or another list. That suits rules that must keep applying, but it isn't a quick way to fix 20,000 existing files.

What to know

  • Browser edits create a new version of every item and set Modified and Modified By to you, which can make audit history misleading.
  • Some column types can't be edited in grid view, and very large views are slow to load.
  • Every built-in method works on one list at a time.
  • Export to Excel is one-way: changes in the spreadsheet don't go back to SharePoint. Creating a list "From Excel" makes a new list; it doesn't update an existing one.

Option 2: PowerShell

PnP PowerShell is the most flexible option, and unlike the browser it can change values without touching Modified or adding versions. Install PnP PowerShell 2.x or later and register your own Entra ID app first.

This script sets a column on every file in a folder where it's blank. It writes a CSV of planned changes first and only changes SharePoint when $Apply is $true.

# Set a column on files in a folder where it's blank. Preview first, then set $Apply = $true.
$ClientId   = "<your-app-id>"
$SiteUrl    = "https://contoso.sharepoint.com/sites/Finance"
$List       = "Documents"
$Column     = "Department"     # internal name of the column
$NewValue   = "Finance"
$FolderPath = "/sites/Finance/Shared Documents/Budgets"
$Apply      = $false

Connect-PnPOnline -Url $SiteUrl -Interactive -ClientId $ClientId

$items = Get-PnPListItem -List $List -PageSize 500 -Fields "FileRef", $Column |
    Where-Object { $_["FileRef"] -like "$FolderPath/*" -and [string]::IsNullOrWhiteSpace($_[$Column]) }

$items | ForEach-Object {
    [pscustomobject]@{ Id = $_.Id; File = $_["FileRef"]; OldValue = $_[$Column]; NewValue = $NewValue }
} | Export-Csv "C:\Reports\metadata-changes.csv" -NoTypeInformation -Encoding UTF8
Write-Host "$($items.Count) items would change. Review metadata-changes.csv."

if ($Apply) {
    $batch = New-PnPBatch
    foreach ($item in $items) {
        # SystemUpdate keeps Modified and Modified By and adds no version
        Set-PnPListItem -List $List -Identity $item.Id -Values @{ $Column = $NewValue } -UpdateType SystemUpdate -Batch $batch
    }
    Invoke-PnPBatch -Batch $batch
}

What to know

  • Use the column's internal name, which you can see in the URL when you edit the column in list settings.
  • Value formats differ by column type: a person is an email address, a managed metadata value is a term ID or "Label|TermGuid", and a multi-choice column takes an array.
  • SystemUpdate skips version history entirely, so there's no record of the change in the item. Keep the CSV as your record.
  • Every change of rule, column or filter means editing and re-testing the script, so it suits technical admins more than site owners.
  • Test on a copy of the library first.

Option 3: Find and fix metadata across sites with SharePoint Essentials Toolkit

Most metadata projects start with "where is it wrong?" The toolkit answers that free, then makes the change in bulk on paid editions.

Find blank and wrong values (free)

  • Content search > Text in columns and metadata searches every column value on items, files and pages in the lists you pick, across many sites, and lists each match. Use it to find old department names, misspelled client names or a retired product code.
  • Get inventory of items exports every item and file with the columns you choose to Excel, so you can filter for blanks and hand each owner a list. See SharePoint inventory: export everything to Excel.

Change values in bulk

  • Replace text in columns and metadata finds text in column values and rewrites it across the lists and sites you pick. Turn on Flag only to preview every match first. The report lists each change, and History can undo it.
  • Change who last modified items replaces the Modified By person, and similar actions replace Created By or a person in any Person column, such as Owner or Assigned To. Dates are kept and no new version is created. This is the usual fix when someone leaves and their name is on thousands of items.
  • Apply or remove sensitivity labels labels the files you tick in a report. It needs a certificate connection with an Azure app registration.

Search and inventory are free in Community Edition on up to 20 site collections. The bulk changes are part of Enterprise; in Community, find and replace works on lists under 100 items so you can try it.

Which method should you use?

SituationBest fit
Tag 20 files with the same valueDetails pane
Fill in a column for 300 items from a spreadsheetEdit in grid view, paste from Excel
New uploads keep arriving untaggedColumn default values, or a Power Automate flow
10,000 items, keep Modified dates, one libraryPnP PowerShell with SystemUpdate
Rename a value across many sites, with preview and undoToolkit find and replace
A leaver's name is on items across the tenantToolkit "Change who last modified items" and Person column replace

Frequently asked questions

How do I change a column value on many SharePoint files at once?

Select the files in the library, open the details pane and change the column; the value is applied to every selected file. For hundreds of items, use Edit in grid view and paste values down the column. For thousands of items or many libraries, use PowerShell or a bulk tool.

Does bulk editing create new versions and change the Modified date?

Edits in the browser do: each item gets a new version, and Modified and Modified By change to you. PowerShell can avoid this with Set-PnPListItem -UpdateType SystemUpdate, which keeps the Modified date and user and adds no version.

Can I update existing SharePoint items from Excel?

Not directly. Export to Excel is one-way, and creating a list from Excel makes a new list. You can paste a column of values from Excel into Edit in grid view, or read a CSV in PowerShell and update each item by ID.

Does metadata make SharePoint content more secure?

No. Permissions decide who can open a file; metadata doesn't. Metadata can drive things that help protection, such as views, retention and sensitivity labeling rules, but a column value alone hides nothing from search or Copilot.

What is the best way to stop metadata going missing?

Use choice or managed metadata columns instead of free text, set column default values on libraries and folders so uploads are tagged automatically, keep required columns to the few that matter, and report on blank values regularly.

Find missing and wrong metadata, free

SharePoint Essentials Toolkit Community Edition is free. Search column values and export item inventories across up to 20 sites per Microsoft 365 tenant, with no item caps on reports and no trial period. Get your free Community Edition license key.

About the author. The Cognillo SharePoint Team builds and supports SharePoint Essentials Toolkit and has worked with SharePoint administrators on permissions audits, migrations and cleanup projects since 2012.