Sharepoint Document Library- Metadata

Brass Contributor


We have a document library in which the requirement is to add 20+ custom columns (Meta data). 

Adding custom columns (Meta data) to document libary helps to search the documents easily by providing required criteria.

Is it good to add so many additional columns to a document library?


Please advise if any other best approaches are there.

10 Replies

There are limitations around the use of columns. These are described in this article (written for SharePoint 2013 but still applicable as far as I know)


I don't think you will run into the technical limits described in the article above.


A potential downside of this many columns is they ultimately have to be filled with data. If some person is required to fill in all those columns manually the experience might not be that good. If an automated proces is used to fill in the columns this is less of a concern. 



I don't think that's gonna work if you later want to show/query all the fields (like in a List View). From my experience, once I tried to add like 14 metadata columns to the Pages library. I was able to add them, but then I got errors when trying to show and item with all the columns (don't remember exactly the case, but didn't work).


Metadata columns are threated like "lookup" columns, and there's a limit here:


List view lookup threshold

12 join operations per query

Specifies the maximum number of joins allowed per query, such as those based on lookup, person/group, or workflow status columns. If the query uses more than eight joins, the operation is blocked. This does not apply to single item operations. When using the maximal view via the object model (by not specifying any view fields), SharePoint will return up to the first 12 lookups.

Note: After applying the SharePoint Server 2013 cumulative update package released on August 13, 2013 (, the default value is increased from 8 to 12.

Agree with Luis, the more metadata you add to a list or a document library, the more probability you will have of experiencing performance problems when working with the list or document library

The types of columns used make a huge difference as described in the article. 20 columns of type "Single line of text" has way less impact compared to using 20 columns of type "Managed Metadata". It wasn't clear to me from the original question what types of columns where to be used...


@Venkata Ratnam Vemula: by "Columns (metadata)" do you refer to the fact each colum specifies a piece of metadata or do you refer to Columns of type "Managed Metadata" here?


Each column is specifies a piece of metadata not the managed meta data. Agree the user has to input more data while uploading the document.

Do we have any other alternate approaches for this requirement?

You should carefully consider if all meta data is really needed. If so, you should strive to make the end users' life as easy as possible. SharePoint provides only a few ways here that could help you out. Column default values specified at the folder level for example where the library folder you put a document in determines the default values to be used.

A custom add-in could also help in providing a better data entry experience...
Do you need all columns for all types? I tend to use different content types with different columns for each to reduce number of fields. You can also use lookup columns so you have one select but show more info. As Paul mentioned, definitely check the limits and limitations.

Agree with some of the fellow posters, I try to steer clients towards 3-5 columns worth of metadata at most. 3 tends to be the most common, 5 is more for strict publishing site or application that was built on top of SharePoint.

Thanks for the reply.

I have created 30+ columns  in a content type and used that content type as base for all the document libraries (20+)  in my site collection.


Based on the document library type, I have hidden few columns for the users to avoid unnecessary inputs by  using IProvisioningExtensibilityHandler in OfficeDevPnP.Core.Framework.Provisioning.Extensibility namespace.



Thank you all for your suggestions.

I am affraid it are to many columns and if there is lots of data this can become a issue in delay and Search my advice would be to look at the columns and bring them down to max 20 but less would even be better