There is a limit on the number of close votes, flags and suggested edit reviews a user can do in a day. However, while the number of close votes and flags you have remaining is clearly shown, the number of edit reviews left is not displayed anywhere. Would it be possible to display this number when reviewing an edit? (In the same way the number of close votes and flags remaining is shown when voting to close or flagging).

My primary motivation for this is that I quite often participate in the suggested edits review queue, but I never want to spend all of my edit reviews there - this leaves me powerless if a post I encounter normally needs an edit, but already has an edit suggestion pending. I would really like to save a few review votes a day for situations like this; but without being able to see the number I have left, I have to count the number of reviews I did in my profile's activity tab, which is tedious.

  • 2
    Actually, the number of any review remaining is not displayed. – Himanshu Jansari Nov 20 '13 at 9:12
  • @Roo yes, cuz yours contains good freehand :) – nicael Mar 15 '15 at 8:40

Simple workaround until such thing is implemented is by going to the suggested edits stats page:

Not perfect, but as simple as clicking a link and doing simple math. :)

  • Thanks, good tip, I've never really explored that - didn't occur to me to look for this there. – Angew is no longer proud of SO Nov 20 '13 at 9:12
  • @Angew of course, same for me but it didn't stop me from exploring almost every available link on the site. (plus some not publicly available ;)) – Shadow Wizard is Vaccinating Nov 20 '13 at 9:12
  • Not a real solution, is it? – rene Mar 7 '15 at 20:47
  • 1
    @rene true, but plain workaround without using any userscript. :) – Shadow Wizard is Vaccinating Mar 7 '15 at 20:49

I already posted a userscript for showing your already taken reviews but I just added the number left as well. This works for all queues and take into account if the queue size is over 1,000.

// ==UserScript==
// @name         Stats
// @namespace    http://stackoverflow.com/users/578411/rene
// @version      0.2
// @description  Adds the current stat count in fromnt of your total reviews on the review tab
// @author       rene
// @match        http://stackoverflow.com/review/*
// @grant        none
// ==/UserScript==

(function($, window) {

    var parts,
        currenthref = window.location.href,
        // here we put our stat
        stat = $('<div></div>')

    function buildUrl() {
        // build the stats url
        parts = window.location.pathname.split('/');
        if (parts.length>3) {
           parts[parts.length-1] = 'stats';
        } else {
        return parts.join('/');

    statsurl = buildUrl();

    // integate in the review page

    // get the (fullblown) stats page and find your own stat
    function refreshstat() {
        $.get(statsurl, function (data) {
            var html = $(data),
                td = html.find('td.review-stats-count-current-user:first'),
                atot = html.find('a.review-stats-count[href^="/review/"'),
                tot = Number.parseInt(atot.text().replace(',',''),10),
                current = Number.parseInt(td.text(),10);
            // https://meta.stackexchange.com/a/223917/158100
            if (tot > 1000) {
                allowed = 40;
            }  else {
                allowed = 20;
            // replace our current stat wit the just loaded one
            stat.html(current.toString() + '&nbsp;(' + (allowed - current).toString() + ')&nbsp;/&nbsp;');    
        }).fail(function(prom, error, msg) {
            if (msg === 'Not Found') {
                // the url is not correct, try a new one
                statsurl = buildUrl();

    // check regularly (every 5 seconds) if we done a review yet
    window.setInterval(function () {
        // if the url changed, lets get the new stat
        if (window.location.href !== currenthref) {
            currenthref = window.location.href;
    }, 5000); // now 5 seconds because we hardly ever review quicker than that
    refreshstat(); // run once for an initial value

}($ || unsafeWindow.$, window || unsafeWindow));

Here you can see it in action:
enter image description here

This works in all queues and is tested in Chrome with Tamper Monkey but should work in Firefox with Grease Monkey as well.


A simple script can do it until it's implemented.

As bookmark

javascript:if($("stu").length==0){$("#badge-progress-count").prepend("<tmp style='display:none'></tmp><stu>...</stu> left today | ")};var sz=0;$("tmp").load(location.href.replace(location.href.split("/")[5],"")+"/stats .review-stats-count:first",function(){sz=parseInt($("tmp > a").text().replace(/,/,""));sz=sz>1000?40:20;$("tmp").remove();$("stu").load(location.href.replace(location.href.split("/")[5],"")+"/stats .review-stats-count-current-user:first", function(){$("stu > td").removeClass("review-stats-count-current-user");$("stu > td").css({"display":"inline"});$("stu").text((sz-parseInt($("stu").text())).toString())});});

As userscript:

// ==UserScript==
// @name         remaining reviews for today
// @version      1.0
// @description  Shows the number of reviews remaining for today
// @author       nicael
// @include        *://*.stackexchange.com/review/*
// @include        *://*stackoverflow.com/review/*
// @include        *://*serverfault.com/review/*
// @include        *://*superuser.com/review/*
// @include        *://*askubuntu.com/review/*
// @include        *://*stackapps.com/review/*
// @grant        none
// @namespace https://greasyfork.org/users/9713
// ==/UserScript==

setInterval(function(){if ($("stu").length === 0) {
    $("#badge-progress-count").prepend("<tmp style='display:none'></tmp><stu>...</stu> left today | ");
var sz = 0;$("tmp").load(location.href.replace(location.href.split("/")[5], "") + "/stats .review-stats-count:first", function () {
    sz = parseInt($("tmp > a").text().replace(/,/, ""));
    sz = sz > 1000 ? 40 : 20;
    $("stu").load(location.href.replace(location.href.split("/")[5], "") + "/stats .review-stats-count-current-user:first", function() {
        $("stu > td").removeClass("review-stats-count-current-user");
        $("stu > td").css({
            "display": "inline"
        $("stu").text((sz - parseInt($("stu").text())).toString());

It gets the number of your reviews today from the stats of the queue you are currently in (the fact you can view your current reviews there is mentioned by @Shadow Wizard)

Note: this script is made to be executed in the review queues ({some-se-site}/review/{queue-name}/*). It prepends the number of your total reviews with "X left today" and the result looks like this:

Not the answer you're looking for? Browse other questions tagged .