SharePoint Online: How to Change List to New Experience?

Requirement: Change the List experience in SharePoint Online.

How to Set SharePoint Online List to Modern experience?

SharePoint Online’s new list experience provides a faster and easier user interface to lists and libraries. The modern experience is not only fluid and responsive but also adds new enhancements to the user interface of lists and libraries. You can switch between classic & new experiences in SharePoint online by simply changing the list settings.

To change list or library to the new modern user interface:

  • Go to List or Library settings >> Click on “Advanced Settings”
  • Scroll down to the bottom, and from “List experience” section, Select “New experience” option and hit OK.
How to Change SharePoint Online List to New Experience

This changes the list UI to new experience in SharePoint online, From:

SharePoint Online Set List to Modern Experience

To: New list experience in SharePoint online

sharepoint online modern ui document library

How about setting the default option for all New Lists?

To set list experience for new lists, you can specify this option globally using SharePoint Admin Center. Here is how:

  • Navigate to your SharePoint Admin Center(typically:
  • Click on “Settings” from the Left navigation
  • On the Setting page, under “SharePoint list and libraries experience” section, Select the appropriate option, such as : Classic experience or New experience (auto-detect).
sharepoint list and libraries experience

PowerShell to Switch UI experience of a List or Library in SharePoint Online:

On any existing SharePoint online lists and libraries, you can switch the UI experience either using the SharePoint web UI method as explained above or with the below PowerShell script.

#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
##Variables for Processing
$SiteUrl = ""
$ListName= "Project Documents"
$UserName="[email protected]"
$Password ="Password goes here"
#Setup Credentials to connect
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName,(ConvertTo-SecureString $Password -AsPlainText -Force))

Try { 
    #Set up the context
    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteUrl) 
    $Context.Credentials = $credentials

    #Get the document library
    $List = $Context.web.Lists.GetByTitle($ListName)
    #Set list properties
    $List.ListExperienceOptions = "NewExperience" #ClassicExperience or Auto


    Write-host "UI experience updated for the list!" -ForegroundColor Green        
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red

SharePoint Online new experience not working?
In some cases, even after you changed the list experience settings from list settings, you will be still getting the same UI. This is because of the browser cookie! To fix the problem, simply clear your browse cookie and reload the page. (To be specific, the cookie is called “spInu” with a value of 0!)

Change List Experience using PnP PowerShell in SharePoint Online

Let’s change the default list experience to “new experience” or “Modern Experience” for a SharePoint Online list.

#Config Variables
$SiteURL = ""
$ListName = "Team Documents"

#Connect to PNP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)
#Set List Experience
Set-PnPList -Identity $ListName -ListExperience NewExperience
To get the List experience settings, use:
Get-PnPList -Identity "List Name" -Includes ListExperienceOptions

Where: 0 = Auto, 1 = modern, 2 = classic

PnP PowerShell to Set List Experience to Modern for All Lists in a Site Collection

Let’s set all lists in a site collection to Modern!

$SiteURL =""

#Connect to PnP Online
Connect-PnPOnline -URL $SiteURL -UseWebLogin

#Get the Root Web
$RootWeb = Get-PnPWeb
Write-host "Processing Root Web:"$RootWeb.URL -f Yellow

#Get All Lists from Root Web and Iterate through 
$Lists = Get-PnPList -Web $RootWeb
ForEach($List in $Lists)
    If($List.ListExperienceOptions -ne "NewExperience" -and ($List.Hidden -eq $false))
        #Set List Experience to Modern
        Write-host "`tSetting List Experience to Modern:"$List.Title
        Set-PnPList -Identity $List -ListExperience NewExperience 

#Get All Webs in the site collection and Iterate through
$Webs = Get-PnPSubWebs -Recurse
ForEach($Web in $Webs)
    Write-host "Processing Web:"$Web.URL -f Yellow
    #Get All Lists from web and Iterate through
    $Lists = Get-PnPList -Web $Web    
    ForEach($List in $Lists)
        If($List.ListExperienceOptions -ne "NewExperience" -and ($List.Hidden -eq $false)) 
            #Set List Experience to Modern
            Write-host "`tSetting List Experience to Modern:"$List.Title
            Set-PnPList -Identity $List -Web $Web -ListExperience NewExperience

Salaudeen Rajack

Salaudeen Rajack is a SharePoint Architect with Two decades of SharePoint Experience. He loves sharing his knowledge and experiences with the SharePoint community, through his real-world articles!

3 thoughts on “SharePoint Online: How to Change List to New Experience?

  • August 12, 2019 at 7:28 AM

    I Used the same code with Site Admin Permissions, but its not working

  • November 21, 2017 at 7:03 PM

    Why are you using the SiteURL as html syntax and not just the URL? Also I’m getting the following error:
    Exception calling “ExecuteQuery” with “0” argument(s): “The sign-in name or password does not match one in the Microsoft account system.”

    • January 14, 2018 at 6:53 AM

      It was caused by a 3rd party plug-in and sorted now. Thanks for notifying, Cheers!


Leave a Reply