How to display the state (read-only/frozen) of cells?

I am trying to quickly see which cells are read-only, which are frozen, etc. Is there a way to show the state of cells? Thanks!

From here:

“The individual cell’s state is stored in its metadata …”

However, maybe that isn’t what you are asking? What do you mean by ‘quickly see’? Are you trying to run a command line program to parse this out? Using classic notebook interface? JupyterLab?

Thanks! I was hoping to click on a button, and see, in my jupyter notebooks in my browser (classic interface I guess), the state of each cell, for instance with a colored frame, a small icon somewhere, anything. It is currently the case for code cells, for which the background color changes with the state, but not for the markdown cells. Any idea? Thanks again!

I’m seeing markdown cells work with the coloring for read-only. But I have to click within that cell.
The frozen markdown cells don’t indicate though once you ‘run’ them and leave the editing mode.
I think it is a limitation of the freeze interaction?

I don’t know if it helps for your needs…
In JupyterLab, the read only and freeze can be just hand-edited in the metadata (and they are respected). See read-only example here; however, I tested with the frozen metadata code, lifted from what the freeze nbextension makes, and it was also respected by JupyterLab. So you can use the ‘Property Inspector’ panel to read the state as click you on cells. (You toggle into the ‘Property Inspector’ panel by clicking the gears on the vertical toolbar on the far left side of JupyterLab.) To make it a tad more visual, you could then tag those cells with ‘read-only’ or ‘frozen’ similar to how here here illustrates. (You’ll want to be using JupyterLab >=2.0 to see this in action; you can launch that version presently from here for testing. Click on the ‘Cancel’ button to dismiss the build dialog after the session launches.) I imagine eventually you’ll be able to color the tags in JupyterLab, and so then it would be actually visual and closer to what you seek.

Thanks again, fomightez. I asked the question on GitHub (, let’s if someone has a solution there.