[Userscript]: Wani Kani Export -> Anki

Wani Kani Export -> Anki

Get it Here


  1. Instructions
  2. Rant

Section 1 : Instructions

Step 1: Install WK open framework (if you don't already have it installed) Step 2: Download anki and anki-connect (if you don't already have these installed as well, anki-connect is what yomichan uses) Step 3: Install wkexport (see the top of the post)

Step 4 I would like to remove but I am not sure how. If someone knows please let me know.
Step 4. edit the wkexport script here(it’s right at the top)

// This is the variable to set to make the anki cards be due on the correct day
var ankiCollectionDateOffset = 640

This number is the number of days since the creation of your collection. I could not find an endpoint for this in anki-connect. sorry.
You may have to delete your exported deck once and try it again with a different number if it is wrong.

you need to find the number of days that have passed since you made your collection. Maybe if you look at this part of stats on your oldest deck it will be a close number… if not look at the due dates on the new cards and do some addition/subtraaction to calculate this.

message me if you need extra help.

ctrl+s to save the script

Step 5.
On wanikani press the export button(once)
Don’t close the tab.
press f12 to see the console
it is done when it completely stops printing debug lines (yeah I know)
It may take a few minutes because anki-connect is a bit slow

The cards contain all of their info in a field called wkdata as stringified json so it’s all there if you need it.
The cards aren’t super pretty. If anyone wants to make edits to the code or has any questions lmk.
I would do more but am too busy.

If anyone tries this and gets stuck tell me what went wrong.

Section 2 : Rant

Wanikani is an okay learning platform that I have spent hundreds of hours on but can no longer in good faith recommend. I have changed my opinion from what I said in my level 60 post, I don’t see any reason to use wk over anki anymore. My personal advice is to switch to anki.

I have recently come to truly understand the expression If it ain’t broke don’t fix it. WK staff deciding to change everything with no warning (I certainly got no emails about it beforehand) shows a lack of respect for the user base. The update broke many things and offered nothing in return(worse UI and no recap screen. The recap screen was a big part of my review process when I was learning new kanji and for it to be taken away seems like a complete downgrade with absolutely no upside). If wanikani had reverted the change or kept 2 versions of the site up for a while I might have stayed.

I actually made a post halfway through last year asking if there was a script like what I have made but ultimately decided to stick with wk and pay them like $80 or something. Anki definitely has its faults but as it stands wanikani is no longer the good alternative for beginners I thought it was.

This may be a contentious opinion of mine but I don’t like that wanikani makes claims about how you will learn xyz amount but doesn’t do much research to back up their claims and improve their product. A much better update would have been a change to the SRS intervals based on research that a company like wanikani should be able to do. This is like their main strength over open-source stuff like anki.

That’s about it for my rant. I may post more here about other things in the future. I made an android japanese epub reader with anki integration which I am yet to publish, I might get on to this over my next Uni holiday.
Bye bye wanikani

Why was this removed?

Edit 2:
changed the location of the script because it was wrong


Out of curiosity, does this export all WaniKani data, or just the data from the levels you’ve achieved?

I’m currently level 19, because the higher levels of WK don’t interest me, so when I reach them I reset.

So in essence, in my case, will it only export 19 levels of kanji/vocab, or 60 levels?

1 Like

This only exports vocab cards that have passed the lesson stage that aren’t burned. It can work with kanji as well, I would just have to make a little tweak.

Hi, I am trying the script but don’t get where I can fetch the cards… On the console I have the message “Retrieved 5991 items.”

1 Like

Do you have anki open? could you take a screenshot? of the console? message me on discord Dafqu#7709 and I can try help out more

Anki is closed. I don’t know if I have to wait (but it’s stuck there for 1 hour) or what.

1 Like

Anki has to be open for it to work. And you need to have anki connect installed if you don’t already have it. AnkiConnect - AnkiWeb

I am dumb, sorry. Didn’t see the step 2 above :sweat_smile:

Don’t worry, I just made a change to the script because the readings and meanings weren’t formatted properly. Let me know if it all goes well

ok I made some more changes, but it should all be good now, let me know how it goes

@flowjam I made the script. Feel free to use it if you’re still keen.

1 Like

THANK YOU!!! can’t wait to try this. If summaries don’t come back like maybe today or tomorrow I will absolutely cancel my sub

1 Like

Did the post get deleted?

It was removed but it’s back up. I’m sure it was just someone trolling me

1 Like

Decided that I didn’t want to support WaniKani anymore, even if just for a couple of months, and used your script to migrate everything and then cancel my subscription. Took me a bit to make it work properly. Here’s some things I noticed:

  1. The version of Anki installed by apt (Ubuntu) is so outdated that one of the Anki Connect endpoints didn’t work… took me way too long to debug, because the script appears to work, you just get some error output in the console. I had to install a recent version via Snap, which then somehow required me to change some schedule setting or something that required me to reupload all my decks… took a while.
  2. The offset date is probably based on when you created your account or something? For me, when I tried importing it for the first time, all the dates were set to somewhere in 2016… I then just calculated the number of days between a card I knew was due today and that date and set that as the offset.
  3. With a slight modification, it’s possible to also download Kanji cards. I also added a “[Kanji]” prefix to all imported Kanji cards so I wouldn’t confuse vocab and Kanji cards. I didn’t bother with radicals because… for many of them there’s nothing to display, since they’re not proper characters. And also, who cares about radicals.
  4. The intervals in Anki obviously don’t work like in WaniKani, so the schedule is going to look a bit different, but I guess that’s OK, and worst case, I’ll just have to tweak the modifiers a bit.
  5. I think your script is only loaded on www.wanikani.com, but not on www.wanikani.com/dashboard

Anyway, I’ll see how it goes, but even if it’s not perfect and doesn’t look as nice, I’m just happy to be finally free to tweak things, suspend leeches (I think Anki does that anyway on its own), etc.


I tried the script but wasn’t thrilled (wasn’t quite what I wanted and getting the dates right and some strangeness)…wanted to know I had everything and migrate to kitsun…lifetime member of wk so 110% they don’t care about losing members like us… but if you want an alternate way to dump you can use the dashboard item inspector script to dump everything…I imported to kitsun cuz personally just anki…I can’t haha it’s free and all but bores me to death…

this how I migrated away and it’s SOOOO much better…best of luck…


Yeah, I saw that post too. Honestly looked a bit too much like manual work to me, and Anki works a bit differently anyway. But I’m sure that alternative is good too.

For me personally, even if Kitsun (which I’ve never tried) were great, I’m not going to make the mistake again of becoming locked-in to a paid, closed-source service if I can avoid it. I use Anki a lot anyway and while it’s not always the prettiest, it does the job well enough for me.


no worries… it was some manual work but I was able to dump the cards into sep decks and set it up how I wanted… worked for what I wanted (certainly not for everyone …but it is a pathway to freedom)… and I did think about what if kitsun disappears…well eh…(lifetime over there too) and by then I should hit level 60 … good enough :slight_smile: Honestly, kitsun support is much faster, and the devs listen to the users!!! and the folks on discord are quick to help…overall just much happier…though I haven’t done marumori … though it’s hella cute!! bunpro and kitsun and no more srs after that…

But thanks to the OP, this script is what sort of made me test/try and gave me the last little push to just bit the bullet and do the migration… just pulling out the leeches was HUGE!!! almost 800 of them just a mess… WK SRS timing G2+ are awful… usually takes me 3x just to burn something… my current two deck drilling with custom srs for the leeches seems to be working so far… so might actually learn them with lots more drilling and closer SRS…too early to tell but I have them reduced by about 80 or so… just slowly adding them in small blocks by wk level and working through them until it seems like the first deck sticks and then moving them to the 2nd deck…lots of srs intervals but would be nice to learn them and if they do get so bad even with the optimized spacing…then eh…they die! haha

anyway best of luck… at least you’re already at 60 :wink: I still have a ways to go…


Right, which is also why I thought - even if the exported deck ends up being a bit wonky and not ideal to use, I won’t have to deal with it as much any more. I just don’t want to forget everything I already learned.

Best of luck reaching level 60 at some point!

(I also agree that the WK intervals are a bit weird, there’s just way too much time between Enlightened and Burn Review. And that the leeches are super annoying.)


Yomichan’s quite old, you must have had quite an old version of anki.

That’s exactly right. Unfortunately, there’s no endpoint to get the collection creation date/time afaik. I thought of a way to have this done automatically so I might do this over the uni break.

When you create a card the due date is set by an interval of time from the collection creation date, not the time when the card should be due.

The method:
Create blank card with no interval (the due date will be the collection creation day) →
get the due date(this is the collection creation day) →
delete that card →
export everything

But yeah, I’ll give this a shot after finals.

I’m gonna mention this in the main post in case others want to do this. I might make a setting for it to be changed more easily

I kind of prefer it this way. I wish there was more research on SRS timings. At the same time, I feel that there is merit to the very short intervals of WK for new kanji etc. but idk

This is a mistake, I’ll fix that