Back to column formats
Column formattingSharePoint 2019SharePoint Online

Display a Person's Profile Picture in a Circle

This sample applies styles to a parent div element and a child img element to show a person's profile picture in a circle.

Display a Person's Profile Picture in a Circle formatting preview
Sample preview · View original image

Copy. Apply. Make it yours.

Get this format

2 definitions

Review the requirements below, then paste this JSON into the matching formatting panel. Show me where.

Use your list's internal column names and replace any tenant-specific URLs or flow IDs. Formatting is presentation, not a way to secure data.

Column formatting
Download JSON
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "div",
      "style": {
        "width": "32px",
        "height": "32px",
        "overflow": "hidden",
        "border-radius": "50%"
      },
      "children": [
        {
          "elmType": "img",
          "attributes": {
            "src": "='/_layouts/15/userphoto.aspx?size=S&accountname=' + @currentField.email",
            "title": "@currentField.title"
          },
          "style": {
            "position": "relative",
            "top": "50%",
            "left": "50%",
            "width": "100%",
            "height": "auto",
            "margin-left": "-50%",
            "margin-top": "-50%"
          }
        }
      ]
    }
  ]
}

From the contributor

How to use this sample

Summary

This sample applies styles to a parent div element and a child img element to show a person's profile picture in a circle.

The size can be easily adjusted by changing the default value of 32px for both the width and height style attributes on the parent div.

You can also adjust the border-radius value of the parent div to change it from a full circle (50%) to a rounded rectangle (< 50%). To get larger profile pictures you can change the size=S portion of the URL to use either size=M or size=L. See the table below for details on image size.

For best results, images should be square (S & M user profile pictures always are).

screenshot of the sample

User Profile Picture sizes

Key Size
S 48x48
M 72x72
L 300x?*

The L size profile pictures maintain the ratio of the original photo which means they are not guaranteed to be square. Neither are they guaranteed to be 300px wide. The maximum width will be 300px but if the original image was smaller than that, then it will be the original size. Even the placeholder image for the L size is only 250x150.

Overall, however, the L size shouldn't be used inside columns not only because the ratio is not guaranteed, but because the default column width won't allow you to take up that much space.

Note: @currentField.picture can be used to retrieve a profile picture directly from a person column. However, size options are not available using that approach.

View requirements

  • This format can be applied to a Person column

Sample

Solution Author(s)
person-roundimage-format.json Chris Kent

Version history

Version Date Comments
1.0 March 21, 2018 Initial release
1.1 August 20, 2018 Switched to Excel-style expression

Disclaimer

THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.


Additional notes

This template is included in the Column Formatter webpart.

An additional version using Abstract Tree Syntax (AST) is also provided for environments where the Excel-style expressions are not supported.