The recent change to user profiles discussed in Some changes to the profile while we make it responsive has introduced some empty space. It can be seen directly in Profile page is very empty, revert to old version?. This script claims the space back.

It will also scrape the user profile's activity pages and insert:

  • Marked with a   "⇑". The most recent/last activity skipping awards.
  • Marked with a   "⇓". The very first activity including an award.
  • Marked with a "⌚". The current time in UTC for easy comparison.

In addition, it

Note that, especially on large profiles, it may seem a little slow due to at least trying to avoid rate limits.

From version 2.4 it also adds "profile views" and "Last seen", which is fetched from the Stack Exchange API using /users/{ids}.

It removes the background of the badge-dots (tag medals) and centers the first one on "Top tags".


Courtesy of Vickel:





Due to We’ve shipped some changes to the user profile navigation the script has been redone, and now the top part of profiles looks like:



There are two variables at the top of the script that controls:

  • Fetching "profile views" and "Last seen". Highlighed in red.
    Turn if off by setting this variable to false: const getCreepyData = false;
  • Getting the first and last activity. Highlighed in blue.
    Turn if off by setting this variable to false: const getActivity = false;

Tag badge dots before/after as seen in dark mode:


Should work across the Stack Exchange network.

Those include:

However, the "profile views" and "Last seen" on these language sites are displayed in English. If there's a desire to have this displayed in the local language, please contact me for a cooperation on translation and re-work of the script.


Should work with any user script manager & any browser running JavaScript. Tested with:

User script manager Version Browser Version
TamperMonkey 78.0.4093.112 Opera 4.13.6138
Violent Monkey 2.13.0 Firefox 90.0.2

Also tested and works in combination with

  • Bring back the layout! by Oleg Valter. This script is temporarily slightly broken.
  • LegacyProfiles - Bringing back the old profile stats by Spectric.
    Until Spectric modifies the current version of their script, this change needs to applied:
    • Remove: $(HTML).insertAfter($('#content ul:contains("Member for")').first());
    • Replace it with: $("#content .list-reset").first().append(HTML);
    • To avoid getting the data twice, set the variable for this script to false:
      const getCreepyData = false;


GitHub | Install | Tersed/Minified


For bugs, please post here. Comments are fine too.


Vanilla JavaScript


You must log in to answer this question.

Browse other questions tagged .