KBonk
A downloadable tool for Windows
Welcome to KBonk!
KBonk is a lightweight Twitch and VTube Studio plugin that gives viewers the ability to interact with the streamer by throwing things at them!
What kinds of things? Well, pretty much anything as long as you've got a picture of it!
- KBonk's throwable items are image-based, making it easy to add new items on the fly!
- Images can have their weight and size adjusted in the provided UI, allowing easy variation of the items thrown!
- Sounds are able to be loaded and customized in the same way, with individual as well as global volume controls!
- Images can make use of "Sound Overrides" to play a specific sound when that item is thrown instead of picking from the global sounds!
Items can be thrown manually or through a selection of events:
- Channel Point Redeems
- Chat Commands
- Follows
- Subscriptions
- Gift Subscriptions
- Bits
- The program will attempt to throw an accurate number of Bits using randomly selected variations of Bit icons!
- Raids
- By default, Raids will attempt to throw the Raiding channel's emotes at you!
- Individual cooldowns for each of these events!
Other properties are also available to edit, such as:
- Calibration (for any number of models!)
- Number of items thrown in a Barrage
- Frequency at which items are thrown in a Barrage
- Speed that the model will return to neutral after being hit
- Global volume
- Delay (for if you notice the objects hitting before the model reacts!)
- Physics Simulation
- More!
Create "Custom Bonks" that increase the level of customization:
- Item Count
- Windup Time
- Windup Sounds
- Impact Decals
- Override various settings:
- Barrage Frequency
- Throw Duration
- Throw Angle
- Image Gallery
- Sound Gallery
Well, what are you waiting for? Get bonkin'!
FAQ
My Redeems/Subs/Bits stopped working suddenly!
Please update to version 1.24 or newer!
As of April 2025, Twitch shut down the service that certain events relied on in favour of a newer solution. Updating KBonk is required for these types of events to continue working!
Does this work for YouTube/3D models/PrprLive/Mac/etc?
This tool only works for Twitch Streaming with Live2D Models using VTube Studio on Windows. At this time, I have no solid plans to extend it past these scopes.
Can I update and keep my settings?
Yes! As of 1.19 or newer, settings and files are stored in a persistent location to simplify the update process.
If updating to version 1.19 or newer from an earlier version, make sure to overwrite the contents your old folder to keep your settings!
How's the CPU usage?
Less than 5% in normal usage! Minimizing the main window to the tray will reduce its usage to basically zero, just leaving the Browser Source as the only significant source of CPU usage.
What makes it different from T.I.T.S?.
KBonk exclusively uses 2D images rather than 3D models! That's the primary difference, with others mainly being a result of the different implementation. KBonk is essentially a browser app, being built in HTML and JavaScript. As a result of the different implementation, my hope is for KBonk to be a very accessible and lightweight alternative!
I found a bug!
Please tell me! This is my first time actually releasing software out into the wild and I'm sure it's bound to have some issues. I just hope they're relatively minor!
Credits
Sample Images: 420 -Pixel Art- Icons for RPG by 7Soul on DeviantArt
Sample Sounds: GameaudioGDC
Inspiration: Rema
GitHub
This program is open-source! Click here to visit the repository.
The code is also able to be viewed in the resources/app folder.
Status | Released |
Category | Tool |
Platforms | Windows |
Rating | Rated 5.0 out of 5 stars (6 total ratings) |
Author | typeou |
Tags | electron, lightweight, live2d, obs, plugin, streamer, Streaming, twitch, vtuber, vtube-studio |
Code license | MIT License |
Download
Click download now to get access to the following files:
Development log
- 1.25 Update87 days ago
- 1.24 UpdateMar 29, 2025
- 1.23 UpdateJun 02, 2024
- 1.22 UpdateJan 15, 2024
- 1.21 UpdateApr 13, 2023
- 1.20 UpdateMar 08, 2023
- 1.19 UpdateFeb 17, 2023
- 1.18 UpdateSep 20, 2022
Comments
Log in with itch.io to leave a comment.
Hi is there a way to use this WITHOUT Vtube Studio? Say for 3d models, PNG Models, or webcam? I don't care if the model reacts to it, I just want it to throw things a direction and make a noise, and TITS takes up way too many resources for something that barely ever activates.
It's a very niche feature, but the only thing on my wishlist that kBonk doesn't do is that there's not a way to integrate it to a bot or send it a web request to trigger bonks. If I could, say, trigger my "Throw Giant Chair" custom bonk by sending a web request of some sort to the bot, it would be easy enough to use the app with just about any streaming platform.
My particular niche use case is for dual streaming to Twitch and YouTube. My bot read both chats, but has no way to trigger bonks; kbonk can only look for chat commands. So my workaround is if, say, someone on YT uses !throwChair, then my Twitch Chat Bot replies with "!throwChair" in Twitch chat so that kBonk can see it, then the bot responds again like it normally does (e.g. "Threw a chair at Sushi from @UserName). It could keep chat a lot cleaner if the bot didn't have to sort of "activate itself" by using a chat command on its own to talk to kBonk.
It would also, say, let me do something like "You got a PB in your speedrun!" ==> Bot tells kBonk to throw stuff to celebrate, or "You reset on the bleep-bleeping first boss again," and Bot tells kBonk to throw tomatoes.
hi! i really like kbonk, but i have an issue where the emote ones aren't working? They worked for a little bit, and then just stopped out of nowhere? I'm connected on twitch and everything else works great except for the emote ones..
okay so apparently, turning off the raid event and the raiding channel's emotes triggers made the emote ones stop working? I turned them back on and it's working fine now??? wack
still love kbonk, ty!
I have completely started using this instead of the other program. I love it so much more. So much easier to work with.
That said, is there a way to make the items stick to the target for a bit? Like cheese slapping on the face or a hatchet being thrown at me?
Hi there.
Really love this program. Is there anyway I can add it so that only certain users can trigger commands?
Thank you.
Unfortunately, the only user restriction available for commands is the "Mod Only" checkbox, which will only allow moderators or the broadcaster themselves to use the command.
Are you wanting to limit to specific users, or to a group of users? Like subs, VIPs, or the like? I can consider this sort of thing for a future update!
OMG U REPLIED. IM HUGE FAN.
Yeah like a specific group of users by name. Im using Streamerbot to post the command automatically based on the number of subs and would like it so only the Broadcaster or my Bot can trigger the typed command if that makes sense?
THANK YOU FOR RESPONDING
Hello! Was just wondering if it would be possible to use this with a pngTuber model? Just having it target a certain area of the screen without a model plugin.
Not directly, but a workaround would be running one of the default VTS models to use as the target without displaying it on your stream!
Oh interesting. I'll definitely consider trying that, thank you. 😊
I moved the data.json file lik eyou mentioned to someone else, and that seems to have fixed my issue :)
I'm extremely frustrated. I've deleted the default throw images so I can focus on using my own. But everytime I close and reopen Kbonk, it just resets all the default stuff. :/
I'm sorry about that, is it only the images that get reset or does everything get reset to default when you restart the program?
I think this is the first time this sort of issue has popped up, but it sounds to me like it might not actually be able to save the settings file for some reason. If it's not already there, could you try placing the KBonk folder into your Documents folder to see if it behaves any differently like that?
Just wanted to note, had trouble connecting kbonk to OBS and it took me a bit to figure out why. I had saved the file to a folder that required admin rights to edit or change and I don't have admin rights (idk why, it's my laptop and I'm the only user, but that's a separate issue), so I think OBS was unable to access that file because of it.
In short, if someone is having an issue connecting the app to OBS via the local file html folder, ensure they have admin access or it's in a folder that does not require admin access.
Hope this helps :)
Is there a fix for custom images not showing up? My version is the latest, and I just noticed that my custom images do not appear.
Where is your KBonk folder located? Certain directories (like Program Files) are protected, so it can run into problems with permissions! Could you try moving the KBonk folder to your normal Documents folder, or even your Desktop, to see if that makes a difference?
Warning: Version Mismatch
No version response from Browser Source.
KBonk and the Browser Source may be running on different versions.
Please ensure KBonk and the Browser Source are both running from the same folder.
1.24version is not working
Please go to your browser source properties in OBS and select the "bonker.html" file from the version 1.24 folder.
That message indicates that the current browser source file is from pre-1.19, so you probably have at least two different KBonk folders. Please make sure that the browser source is pulling from the most recent folder!
I only have 1.24 karasubonk-win32-x64 on PC
Is 1.24 the first version you downloaded, or were you running an older version before?
If your Redeem, Sub, and Bit events stopped triggering, please make sure you've updated to version 1.24 or newer!
Twitch shut down a service that KBonk relies on in favour of a new solution, so all users need to update for the aforementioned event triggers to work!
Hey all, sorry for the lack of replies here! I've been awfully busy with other work and itch stopped notifying me of comments at some point. If anyone is still having issues, please reiterate here or contact me on Twitter or Discord!
I can't figure out how to redeem bit bonks. What exactly are viewers supposed to type in? !bonk then bits?
Bit bonks should happen automatically whenever someone sends bits in the connected channel, as long as bits are enabled and the amount sent is above the minimum donation threshold set in the event tab. Are you having issues triggering it?
Hmm then no it is not working. Any ideas? The follow bonks are working and so do the test bonks.
Could you show what the Bits section of your Events panel looks like?
This is what I set it to

That looks like it should work as long as at least 5 bits have been sent. Do you have issues with any other sort of triggers? Have you updated to the latest version? If not, please try that!
I've been trying to figure out why my redeems aren't working for the past hour. When making new tests redeems, I've made sure Kbonk listens to the redeem but even that doesn't seem to work. When testing the events out on Kbonk they seem to work and even show up on OBS but not when actually trying to redeem them through Twitch or OBS. I've reinstalled, and the problem is still there. Made sure the VtubeStudio port is correct too. I don't know what else to do. How do I check for the OBS Browser port? If anyone has an answer, I would greatly appreciate it.
That's probably because KBonk uses the deprecated PubSub API, which is about to be removed completely next month, and Twitch has been breaking it temporarily every now and then to get users and developers to notice. It's working again now, but it will likely break again unless KBonk switches to the new EventSub API.
Source
When I set item count to 1 for a channel point redemption, it throws 3-4 objects (its one or the other i can't really tell). it works fine when i use the test function in the app, but when i use the channel point redemption it has this issue. Any ideas?
would it be possible to add the ability to have an item count range? So that it can variate between 10-20 bonks rather than a set 10? That’s honestly the ONLY thing im missing from this wonderful little program
wondering if anyone is having the issue im having where you cant upload any custom images? They just wont appear, i cant add any new custom images or sounds
Hi! Thank you for this amazing tool. I've been using it for a while with no issues whatsoever. However I recently bought a new laptop and suddenly I can't use custom sounds for anything. Whenever I set a custom sound for bonk or windup the throw won't work. I won't show any item thrown at the character nor play any sound, it simply won't do anything at all. But if I set one of the preloaded sounds it works just fine. What could it be?
Hello! I need some help, basically when doing the first step of calibration wherein the model is supposed to become tiny, mine just fully disappears like I can't see it on my obs spout capture or in vtube studio itself, the second step of the calibration works as intended I think but once everything is fully set up and I test the bonks, the items are hitting somewhere way off but the vtuber tweaking does happen xd.
Some info:
VTube Studio and KBonk has the same resolution (1920x1080)
They also both have the same physics framerate (not sure if this matters)
Hello! I'm having an issue where the ! commands don't seem to be triggering the events and wasn't sure how to fix it :)
my vtube studio is not getting a message to add the plug in, what can I do to fix this? I use streamlabs to stream btw
Hi! I have the api turned on in vtube studio but it's still acting funny, I checked the comments and saw some fixes were changing the browser source port number but mine was never the same as the vtube studio one for that to be the issue. Any clue what I could do to make this work right? qvq If not it's all good, ty
What I do is turning off and on the vtube studio api and it connects right away! (wait a second or so before turning it on again)
Hey, is there any way to change the image that is used for the bits event? Or could that maybe be added?
On the main "Bonk Images" section, there's a tab at the top labelled "BITS" that should allow you to adjust the images used for each bit type. You'll want to click the green "+" to open the file selector for that bit type!

I feel like the absolute dumbest person right now. I tried so much (even editing the JS myself) and I just didn't see that option before..Argh!
Thank you for the fast reply!
I posted a couple of things to GitHub a little while ago, and posted something new today. None of them are bugs, just feature requests. For some reason, I think I saw in the documentation we should post issues on GitHub, but I see you're super active here so maybe I misread something, since I was setting up a whole new streaming setup at the time. I probably got confused tehepeko
Just to keep it short:
--The text for walking through calibration just went way over my head. Nobody else seemed to have difficulty though lmao so maybe it's just me, but it took me WAY longer to do initial calibration than it should have.
--Being able to duplicate throwables would be nice. This is a good workaround for something I'd like to do with barrages that I can't, but I wanna keep the post shorter so I won't go into detail here unless you ask
--Being able to set the IP address for VTS & Browser as well as the port would be really nice for Dual PC users. I manually changed the IP from 'localhost' to 'what.I.needed' in bonker.js and so far so good, but obviously that's a minuscule sample size.
I have no idea on what i did wrong, i tried everything and for some reasson my Vtube studio doesnt connect with Kbonk :/

My API is running, my OBS have the browser source right, the resolution is the same, the 4 digit number port matches perfectly, i refreshed the browser source again and again, everything its ok, i'am so confussed on why it doesnt work, and if that wasnt enough, i uninstalled and installed Kbonk, its just stuck in "Connecting to Vtube studio..."
The worst part of all, is that i saw another person with the same issue and nobody helped them, i think this just doesnt have a solution, which is a shame.
Hi, sorry about that! Could you post a screenshot of the port settings in KBonk as well?
I have the same problem :(
Could you take a look at the other reply to see if yours is set up in a similar way? KBonk has settings for two different ports; if they're both set to the same number, it'll cause issues when two things try to use the same port at the same time.
If the "Browser Source Port" and "VTube Studio Port" in KBonk's settings are the same, please change the Browser Source Port to a slightly different number!
You mean this?, i could send more screenshots about the settings
i could even send the OBS settings, i think everything is alright, its just that Vtube studio doesnt want to recognize Kbonk
Yes, that's it! I can see that the "Browser Source Port" and "VTube Studio Port" are the same. Please ensure those numbers are different! There's two separate things trying to use the same port, which is probably what's causing the problem.
I should've added something in place to keep the same number being assigned to both, I'll look into that for the next update!
help! what should I do? twt
Please go into the settings and try changing the "Browser Source Port" to another 4-digit number!
THANK YOU!!!!!
hii ive been getting this pop up for a while now and wanted to know what it means and what i should do.. also when the bonks come in they r delayed and laggy is there a fix for this too?
Hello! Sorry about that, I'm not entirely sure what might be causing that; but it seems like it's having some issues with sending messages back and forth between different parts of the app.
Would you be able to try changing the "Browser Source Port" in the Settings to another number (it can even be just up or down 1 number), just in case that port is being used by something else, then try restarting things and seeing if there's any difference?
Hey, I think this is fantastic. I have one small request. Please can you make hot keys for custom bonks or a way to integrate with streamer.bot. I want to set up it Streamer Bot that 1 redeem is throw stuff at me. But depending what you type will be the type of throw, and Certain throws I want to add extra effect (Like Blood on my model for weapons redeem) etc. If possible, thank you :)
Heyhey! I actually made a small hack a year ago that integrates Streamer.bot for hotkeys and chaining actions. I just patched my code into the most recent update and it still works. Maybe this could be officially added if more people are looking for this functionality?
This tool is fantastic, thanks for releasing it!
Is there anything to look out for on redeems? I have 2 redeems, one for the Emote Single (named Clonk), and one for the Emote Barrage (named ManyClonk).
Both detect the redeems correctly after doing "Listen". However only the Emote Barrage will activate correctly. The Emote Single will never show up even after being redeemed, even though the test screen works correctly.
Is there anything I should be looking for to fix this?
Hey there, thanks for this tool -- it's perfect! I have a question about item weights though: I can't get it to work. I have 7 items, and dropped the Weight for 2 of them to the lowest they can go, but both still show up ~1/7th of the time. Item weight in this case should mean the frequency of appearance, right? Or am I misunderstanding?
Thanks so much!
- Alanzi
Oh, sorry about that! The "weight" setting refers to the item's physical weight; that is, with how much force it will move your model. There's nothing in place to change the chances of a particular item being thrown at the moment, sorry!
Oh, that makes sense! Thank you for the reply!
hi, im having an issue where no matter what i try kbonk wont connect to vtube studio and im stuck on "connecting to vtube studio". im so confused, i have everything set correctly, highth and width, port number, api is turned on and i dont know what to do, any ideas how i could fix this? i also redownloaded kbonk and set everything up again, i really wanna get this programm to work as its amazing from what ive seen.
I had this problem too but then I found out that I hat to enable API on vtube studio! see if this works for you
Hi! First, thank you for making this software. It is pretty light for my laptop and truly grateful for it!
However, I often encounter issue with the software plugin and VtubeStudio where it often disable by itself. The software struggle to reconnect with VTStudio after couple minutes running it.
Regardless I use VTubeStudio non steam launcher or steam launcher. Is there a solution to it?
Hi, so I set everything back to default settings and the images themself are normal; but whenever I throw something the image are flat. This also applies to the default items as well. Do you know how to fix this?
Could you elaborate on what you mean by "flat"?
The image looks warped
Did you happen to resize the browser source in OBS by dragging the edges of the red box around? If so, could you try to reset the transform (should be under the right click > transform menu) in OBS and see if that helps?
If you need the browser source at a specific size, please make sure to do it by changing the size in the browser source's properties (there should be "width" and "height" properties that you can set)
Hello! Would it be possible for the software to be modified so it works on veadotube, as in letting us to calibrate the hitbox by ourselves without live2D.
Hello! First of all it's lovely you made this available! But I ran into a problem. The calibration seemed to work fine and sounds work, but all items thrown at my model are invisible. Can't find a solution for it
Thank you for using it! Would you be able to confirm that the bonker.html Browser Source in OBS is layered above, and has the same size and position as the VTube Studio source? (When you click on each of the two sources, the red box should cover the same area)
It wasn't any of that. I was being stupid and looking at Vtube studio even though of course the objects only show on OBS. Sorry this was my mistake entirely lol