Tuesday, June 7, 2011

SharePoint Column/Field Display Name vs Internal Name

In SharePoint, When we create a column on a site/list/document, It has two names:

  1.     Internal Name - which is the name given to it when it was created and it wont be changing.
  2.     Display Name - You can change the display name as many times as you want.
Best example to understand internal name is "Modified By" field which is having internal name "Editor". When you edit the column name and change it to something totally different, the internal name doesn't change. But why should we care?

Well, Because:
  • When writing code that interacts with SharePoint's object model, some methods requires the field's Internal Name, and others the Display Name.
  • When working with Data Views, some third party controls, and custom Web parts - we must use the internal name
So, how to Identify the Internal SharePoint Column Name?
Important: Open your SharePoint site in Firefox/Google Chrome (IE does different encoding!)
  1. Sort the List / Document Library column by clicking it, and check in URL for SortField parameter value.
  2. Go to List / Document Library Settings, click on the name of the column to modify it and in URL find the last parameter value (Field)
  3. SharePoint Column Display Name vs Internal Name
What is the Best Practice in creating site/list/document columns
Name them without any special characters or spaces.  After the column is created, rename it with the special characters or spaces. This way the internal name will be "clean". E.g.
  • Display Name: My Column Name. Internal Name: MyColumnName
Here is the reference Table for SharePoint Internal naming characters

CharacterInternal Hex CodeCharacterInternal Hex Code
^_x005e_< _x003c_
&_x0026_> _x003e_

SharePoint internal name length: Internal names are trimmed with 32 character length.

Change SharePoint internal column name: Is it possible to change Internal name of the column? Unfortunately, NO! without recreating the column, you can't change the internal name of the field.

Get Field Internal Name Programmatically: 
To get SharePoint internal column name using PowerShell:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$Web= Get-SPWeb "http://sharepoint.crescent.com"
$list= $web.Lists.TryGetList("Risk Metrics")

#Get "Program Name" Field
$field = $list.fields | where {$_.Title -eq "Program Name"}

#Get Field Internal Name 
write-host $field.InternalName

Find Internal Names of All Fields using PowerShell:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Get Internal Name of the columns
$web = Get-SPWeb "http://portal.crescent.com/" 

#Get the list
$list = $web.GetListFromURL("Lists/ChangeRequest/AllItems.aspx")

#Get display name and internal name of each field
foreach ($column in $list.Fields){
    $column | Select-Object -Property InternalName,Title

You might also like:
SharePoint Usage Reports
Usage reports, collaboration and audit for SharePoint.
Document SharePoint Farm
Automatically generate SharePoint documentation.

Check out these SharePoint products:


  1. In a List i have create a column named as "Shipping Address" and it it showing "Shipping%5Fx0020%5FAdress" in URL but according to you it should be "Shipping_x0020_Adress" .

    1. Its based on the browser. If you Click/Mouse over on the field in Internet Explorer, it encodes _ (Underscore) to %5F, but if you retrieve internal name either by sorting the field or by coding, it gives _ instead of %5F. You also try Firefox which always gives _ on both the scenario.

  2. HI, what happens to internal names for columns like "F1" and such.. I mean, if i create a column "F1" (display name is F1), then the internal name is something else.. Are there any other columns other than the characters which you had put above, which get changed?

  3. What happens if you internal name is the same as the display name is the same as the relationships name. The relationships name shows title and access through your solution shows title as well.

    1. Internal Name can be as same as Display Name.


Please Login and comment to get your questions answered!

You might also like:

Related Posts Plugin for WordPress, Blogger...