You applied JSON column formatting to a SharePoint list or library column, but the formatting does not appear. The column shows plain text or default values instead of the styled output you designed. This problem occurs because SharePoint disables custom formatting when it detects a syntax error, an unsupported property, or a security restriction in the JSON code. This article explains the three main root causes of JSON formatting failure and gives you step-by-step fixes for each one.
Key Takeaways: JSON Column Formatting Not Rendering
- SharePoint list or library column settings > Format this column: Opens the JSON editor where you paste and apply formatting code.
- F12 Developer Tools Console tab: Displays the exact JSON syntax error message that prevents rendering.
- JSON validator like jsonlint.com: Catches missing commas, brackets, or quotes before you paste the code into SharePoint.
Why JSON Column Formatting Fails to Render
SharePoint uses a restricted JSON schema for column formatting. The schema allows only a predefined set of properties such as elmType, txtContent, attributes, and style. If your JSON includes a property that SharePoint does not recognize, the entire formatting block is ignored.
The second common root cause is a syntax error. A missing comma between two objects, an extra bracket, or an unclosed quote will cause the JSON parser to fail silently. SharePoint does not display a pop-up error for syntax issues. Instead, the column reverts to its unformatted state.
The third cause is a content security policy restriction. SharePoint blocks inline JavaScript in JSON formatting since 2021. If your formatting code contains "onclick" or "onhover" events that call JavaScript functions, SharePoint strips those events and does not render the formatting at all.
Steps to Diagnose and Fix JSON Column Formatting
- Open the column formatting pane
Go to the SharePoint list or library. Click the gear icon and select List settings. Find the column that is not rendering and click its name. In the column settings page, scroll down to Format this column and click it. - Check the JSON for syntax errors
Copy the entire JSON code from the formatting pane. Paste it into a JSON validator such as jsonlint.com. Click Validate JSON. If the validator shows an error, fix the line it indicates. Common fixes include adding a missing comma after a closing brace or removing a trailing comma before a closing bracket. - Remove unsupported properties
Review the JSON for properties that are not part of the SharePoint column formatting schema. The only validelmTypevalues arediv,span,a,img,button, andsvg. Remove any custom attributes likedata-that are not explicitly listed in the Microsoft documentation. Also remove anyonclickoronmouseoverevents. - Test with a minimal JSON template
Replace your entire JSON with this minimal template to confirm that formatting works at all:{"$schema":"https://developer.microsoft.com/json-schemas/sp/column-formatting.schema.json","elmType":"div","txtContent":"@currentField"}Click Preview. If the column now shows the field value, the issue is in your original JSON structure.
- Use the browser developer tools to find errors
Press F12 to open Developer Tools. Go to the Console tab. Reload the page. Look for any red error messages that contain the wordSPColumnFormatterorJSON. The error message will tell you the exact line number where the parser failed. - Reapply the formatting after fixing the JSON
Once you have corrected the JSON, paste the fixed code back into the Format this column pane. Click Save. Refresh the list page to verify the formatting appears.
If JSON Formatting Still Does Not Render
Column formatting works for some users but not others
SharePoint column formatting is view-level. If a user does not have at least Read permissions on the list, the formatting will not render. Check the user’s permission level in the list or library permissions page. Also confirm that the user is not viewing the list in a browser that blocks JSON formatting, such as the SharePoint mobile app without the latest update.
Formatting appears in preview but not on the list view
This happens when the JSON contains a reference to a field that does not exist in the current view. For example, if your formatting uses [$SomeField] but SomeField is not added to the view, the formatting will not render. Add the referenced field to the view by editing the current view and selecting that column.
Formatting stopped working after a SharePoint update
Microsoft occasionally deprecates properties in the column formatting schema. If your formatting was working before and stopped after a tenant update, check the Microsoft 365 roadmap for changes to list formatting. The most common deprecated property is "onclick". Replace any click actions with the supported "action" property using the "executeFlow" or "setValue" action types.
JSON formatting causes the page to load slowly
Complex JSON with many nested "children" elements or large "style" blocks can degrade page performance. SharePoint limits the total size of a column formatting JSON to 100 KB. If your JSON exceeds this limit, truncate it by removing unnecessary style declarations or simplifying the nested structure.
| Issue | Syntax Error | Unsupported Property | Security Restriction |
|---|---|---|---|
| Cause | Missing comma, bracket, or quote in the JSON | Property not in SharePoint column formatting schema | Inline JavaScript event like onclick |
| How to detect | JSON validator or F12 Console error message | Compare JSON against the schema documentation | Check for onclick, onmouseover, or onchange |
| Fix | Correct the syntax at the reported line | Remove the unsupported property or replace it with a valid one | Replace with SharePoint action property or remove the event |
| Prevention | Use a JSON linter before pasting | Always reference the latest schema from Microsoft | Do not use JavaScript events in formatting |
Now you can identify why JSON column formatting does not render and apply the correct fix. Start by validating your JSON syntax with an external tool and removing any unsupported properties or inline JavaScript. For persistent issues, use the browser developer tools to capture the exact error message from the SharePoint column formatter.
After fixing the formatting, test the column in multiple list views to confirm it renders consistently. If you need advanced interactivity, explore SharePoint Framework extensions instead of column formatting. One advanced tip is to use the "customAction" property with a "action" value of "setValue" to update another column when a user clicks the formatted element.