List of Scripts

A script that hides the streak counter or replaces it with something silly would be great. I want to ignore it, but Bunpro keeps shoving it in my face and then resetting it at what feels like random and it’s getting on my nerves.

If your account is set to your current time-zone then there’s nothing random at all about it. If it truly bothers you this much you can download ublock origin, then use the zapper button (the lighting-bolt icon) and completely nuke the box containing the streak information from showing up again.

1 Like

There does seem to be some inconsistency with how streaks and other stats are calculated.

For example it looks like I apparently forgot to do any lessons/reviews on March 29 (ignoring the fact that this was actually on March 30 because these stats are all 24 hours behind)…but my profile still shows that I currently have a 93 day streak :man_shrugging:

And yes my time zone is correct.


I don’t know if you did this or not, but you get one extra day on your streak just by clicking ‘reviews’ - you don’t actually have to complete a review, your streak goes up simply by pressing the button.

Ah, interesting. Thanks, wasn’t aware of that. Seems like that’s probably what happened lol

1 Like

@Kumi JLPT Percentage was giving me NaN% for total (0/0), i found a fix:

              $('.progress-count').each(function(i, e) {
                if (e.childNodes[0].textContent.includes("Level Progress")) {

(replacing line 39 and adding lines 40-42 below that)

edit: also replace the require line:
// @require
the older require stopped working, because the script was deleted from greasyfork.

Complete code to replace the whole script
// ==UserScript==
// @name         BunPro: JLPT Percentage
// @namespace
// @version      0.2.7
// @description  Adds percentages to the progress bars.
// @author       Kumirei
// @include*
// @include*
// @include*
// @include*
// @require
// require(deleted)
// @grant        none
// ==/UserScript==

(function() {
	$('head').append('<style id="BunProPercentageScript">' +
					 '    .profile-jlpt-level .progress .percentage {' +
					 '        position: absolute; '+
					 '        left: 50%;' +
					 '        line-height: 15px;' +
					 '        transform: translate(-50%,0);' +
					 '        text-shadow: 1px 0px black;' +
					 '    }' +
	waitForKeyElements('.profile-jlpt-level .progress-bar', function(e) {
		var percentage = String(Math.round(e.attr('aria-valuenow')*10)/10) + "%";
		$(e[0].parentNode).append('<span class="percentage">' + percentage + '</span>');

	waitForKeyElements('.profile-jlpt-level', function(e) {
		if (!$('').length) {
			var bar = $('.profile-jlpt-level')[0].cloneNode(true);
			bar.className += ' total';
			bar.childNodes[1].innerText = "Total";
			var barelem = $(bar).find('.progress-bar');
			var total = 0;
			var learned = 0;
			$('.progress-count').each(function(i, e) {
                if (e.childNodes[0].textContent.includes("Level Progress")) {
                //if (e.childNodes[0].textContent.startsWith("\n")) {
				var counts = e.childNodes[0].textContent.split("/");
				total += Number(counts[1].trim());
				learned += Number(counts[0]);
			barelem.attr('aria-valuenow', learned/total*100);
			barelem.attr('style', 'width: ' + learned/total*100 + '%;');
			$(bar).find('.progress-count')[0].innerText = String(learned) + '/' + String(total);
			var lastbar = $('.profile-jlpt-level');
To update the script with Tampermonkey, go to the Bunpro dashboard, click Tampermonkey, then the arrow on the right -> Edit

The error was probably due to an update to the site, which may also invalidate this fix at some point.


I’ve installed the Anki mode script. How do you get it to work?

I just have created that, this see quickly if I have to make more lessons (in this case is obvious that yes)

I also created some similar distribution as wanikani, but the naming that I have used I have the feeling that is not correct in the bunpro context.

bunpro have 12 levels, I grouped in this way
Level 1-4 Apprentice
Level 5-7 Guru
Level 7-9 Master
Level 10-11 Elightened
Level 12 Burned

And I tried to follow bunpro style, to be less intrusive as possible.

I will publish the script as soon as possible.


I think it’s inactive since a few BP updates ago and Kumi is not actively working on these anymore.

@xgc1986, nice! We are in need of a dashboard stat that is not hidden in profile (which I only check periodically).

How hard would it be to track ghosts as well? Right now there isn’t anything at all and I think it would be extremely helpful to manage lessons/reviews. Nonetheless, look forward to using this one!


1 Like

Anki mode is one of the few that are not mine!

1 Like

I assumed you made all scripts here! Tagging @ezhmd then, looks like they haven’t been active in almost a year but there is always hope since Kumi just stopped by.

1 Like

Yes, 7-9 is Master, I fixed. I don’t know if the numbers are correct, it was a random decision. ANd abouth the ghost, it is easy to get, but I still don’t know what ghosts are, once I understand it, but first I will add the script to be installed at least with tampermonkey

1 Like

BunPro++ (

@Kumi I created this script, to group grammar elements similar to wanikani, Ca you add it to the list, please?


Looks great, thank you!

I notice the script is only enabled when I go through the ‘User Dashboard’ link below (not when I open BP naturally). I’m not sure if this is due to the dashboard or not…anyone else see this?

This is great! We actually want to implement something like this natively, but haven’t figured out good names (wanikani is a tough act to follow).


This looks great! I’m going to install it asap.

Could you provide a short description for it?

ummm… I’m not good describing things, maybe a “A progress panel for the dashboard”.

1 Like

is there by any chance a “later” script?
or a review order script?
I kind of have a huge pile that I would like to whittle down but I randomly get access to the N5 items and trip on N3 items


1 Like