What Smarty Bubbles Actually Is
Smarty Bubbles is a free, browser-based animation tool that visualizes the bubble sort algorithm in real time. You can adjust the array size, control the animation speed, and watch how the algorithm swaps elements step by step. It was built as an educational resource, mostly used by computer science students and instructors who need a clean visual aid instead of building their own demo from scratch. The interface is straightforward. You paste or generate an array, pick a sort speed, and hit run. The algorithm goes through its passes, highlighting the two elements being compared and swapping them when needed. Larger unsorted values gradually drift toward the right side of the display, which is where the "bubbling" name comes from. No software installation required. Just open it in Chrome, Firefox, or Edge.
How to Use It Properly
Start by opening the Smarty Bubbles interface in your browser. There is no login wall. You will see a text field where you can input numbers separated by commas or spaces. The default array size option lets you choose between 5 and 50 elements. Anything above 30 elements starts to look messy visually, but it still runs fine. Set the delay between steps. Beginners tend to crank it down to zero, which makes the animation essentially a flash and defeats the whole purpose. Set it to around 200 to 400 milliseconds for comfortable observation. You can pause mid-sort at any point by hitting the stop button. This is useful when you want to point out a specific swap during a lecture or review session. I ran into a specific issue recently when I tried to use it with a reverse-sorted array of exactly 25 elements at maximum speed. The animation appeared to stall on pass three. What was actually happening is that the frame rendering was getting behind because each pass at that array size requires 300 comparisons minimum, and the browser's animation queue was clogged. I solved it by dropping the speed setting to 500ms per step. The sort completes in roughly 12 seconds at that speed, which is acceptable for demonstration purposes. Just something to keep in mind if your animation looks frozen and you suspect it is not actually broken.
Downloading and Running Smarty Bubbles Offline
The core tool is entirely client-side, which means there is nothing to download in the traditional sense. However, if you want to run it without an internet connection, you can save the HTML file directly from your browser. Right-click on the page, select Save Page As, and choose Webpage, Complete. This pulls down the HTML file along with the JavaScript and any embedded assets. It runs offline exactly the same way. I do this before every lecture because I cannot trust the campus Wi-Fi to behave. The saved file takes up about 45 kilobytes and has never failed to load on any machine I have tested it on. The biggest limitation is that Smarty Bubbles only shows the basic bubble sort. It does not implement the optimized version that stops early when a pass completes with zero swaps. If you feed it an already sorted array, it will still perform all n-squared comparisons and animate every useless swap. That is not a bug, it is just a design choice. For teaching the canonical algorithm it works fine, but if you need to show the optimized variant you will have to explain that gap yourself or build a separate demo. Another thing nobody mentions is the lack of complexity annotations. The tool does not tell you when you are in the best case, worst case, or average case scenario. It just runs. You have to know those conditions yourself. A sorted array of 20 elements still animates the same number of passes as a reverse-sorted one, which can mislead students into thinking the algorithm behaves identically regardless of input order. Worth noting if you are using this for grading or tutorial purposes.
Get the Full Details

The element comparison highlight is also somewhat ambiguous. The two elements being compared glow, but the tool does not display the actual comparison value (greater than, less than, equal to) in text form. You have to infer it by watching whether a swap happens afterward. For experienced viewers this is obvious, but beginners sometimes stare at the screen waiting for a text readout that never appears.
When to Use It and When to Skip It
Use Smarty Bubbles when you need a quick, no-fuss visual of bubble sort for a classroom presentation, a study session, or a blog post. It loads fast, it is free, and it does not require any setup beyond opening a browser tab. It typically takes under 10 seconds to get from zero to a running sort on a 15-element array at a moderate speed setting. Skip it if you need to demonstrate other sorting algorithms side by side, if you need complexity statistics displayed live, or if you are working with arrays larger than 50 elements. For those cases, tools like USFCA's Algorithm Visualizer or a custom Python animation with matplotlib give you more control. Smarty Bubbles is a narrow tool. It does one thing and does it adequately. That is not a weakness, it is just a boundary you need to be aware of before you build anything around it.