Latest News:

Latest news & updates for Hearthstone Tracker.

Open source !

That's correct, I've released (most) of the source of HearthstoneTracker on github today:

Note that the current 'master' branch on github is not the latest official release. I cleaned it up a bit, changed licenses and removed obsolete and test projects.

It will take some time to get a new official release out, as I iron out some last issues and implement any incoming pull requests. Also, the issue tracker on github has not all current outstanding issues yet.

I will review any incoming issues and/or pull requests. If you have any questions, feel free to contact me.

Any contribution is greatly appreciated, reporting bugs, implementing a new feature or donating a few bucks to keep the servers running.

Hope this will keep this awesome tool going forward and let the community pick up development as well.



About the new engine / hook

So I got the following question about the new engine/hook:

Very nice update ! 1.9.20 seems to have some kind of injecting code, but does Blizzard gave this version their seal of approval ? Bli² policy usually doesn't allowed injection and memory check. I don't wan't to be banned for "cheating".

Here is my response:

The tracker has always contained 'some kind of' injection code. This is used for DirectX screen capture. (it hooks into the games direct3d methods).

The new engine in the latest version does the same hooking, except now it doesn't get pixel data. It gets the actual game data.

Technically, it's almost the same. But this way, it makes it so much easier and 100% accurate to track what is going on. No more cpu intensive image comparison, no more false positives, etc.

I have to agree, this method is much, much closer to the hearthstone core and you can do things, blizzard developers have not intended to expose.

But, if you look at for example World of Warcraft, Blizzard allows a lot of 3rd party development. There are a huge amount of addons/tools which customize the game.

WoW is very open for 3rd party developers and has a lot of api's / hooks developers can use. Think about Boss attack alerts, quest arrows and even 'trinket sounds' in PvP battles.

Now, hearthstone is relatively new and developed by a small team. So I can imagine that they didn't spend their time building a complex, modifiable system for other devs to use.

But (looking at WoW) it does show that Blizzard actually encourages players to develop around their game.

Of-course, they have to draw a line. But in my opinion, this is not a technical issue (logging / hooking / sniffing).

In my opinion (whatever method used) any tool (especially in a competitive setting) should not give an unfair advantage. Also, such a tool should not expose information not already visible in the game.

Personally, I'd like to see a public API / developer kit (just like WoW), where the HS developers decide what we can do and what not. This is not the case though and I understand they don't have the resources to do so.

That means, we as 3rd party developers (which Blizzard needs and likes so much) have to resort to other methods.

Currently, Hearthstone is not protected by any anti-cheat mechanism. And whenever they will activate it, HS tracker will be flagged (because of the injection methods used).

But, I don't think they will anytime soon. And if they do, they will for sure recognize the fact, that there are 'legit' tools out there.

It's up to Blizzard to provide us with a better/public development system or whitelist those tools.

1.9.20 - fixes + experimental 100% accurate tracking

This release contains some more (possible) fixes for the 'double' games issue.

It also fixes a few other minor UI inconsistencies (like refreshing too much, when editing a deck).

I sneaked in an experimental feature: super-fast, 100% accurate tracking

How does this work?

  • By injecting our own 'logging' module into the Unity Engine (the game engine Hearthstone is build on)
  • It's super-fast (consumes almost no cpu resources, unlike screen capture)
  • It's 100% accurate

By default, this method is not (yet) activated. You have to go into the tracker settings and select 'Hook' as the capture engine.

What does not work yet?

  • Taking screenshots of decks is not yet implemented (this new engine is not a 'screen cap' engine, so I need to write something else for deck screenshotting)
  • Arena's are only tracked after playing the arena games (not a big deal, but it can cause some confusion)
  • The injecting process is a bit unstable now. You have to restart HS and/or HS tracker sometimes to get it to work properly.

What next?

  • This new engine can track more and 100% accurate than any screen cap engine can: read your decks, played cards, (opponent) player names, etc. In the future (v2+) we will add things like this.
  • For 'version 2.0' we will completely replace the (slow / inaccurate) screen cap engines with this new hook engine.
  • I need (a lot) of feedback on this new method and how it works on different pc's / setups before I will make it the default.

So... try it out! and report any issues you see.

1.9.16 - double games issue

There is currently a visual bug, where games show up twice. Deleting any of those 'double' games will result in data getting lost.

I've put up a new version which hopefully fixes the issue where games show twice.

Also, this release has updated 3rd party packages (latest UI components, updated (faster) math library, etc)

What's next?

Hey everyone,

First of all, I'd like to thank every Hearthstone player using Hearthstone Tracker for their support. Since the first beta release, the tool has been download over 10.000 times and a lot of you are using the tracker to it's full potential.

Also thanks for the numerous feature suggestions and bug reports. It has helped me a lot developing this tool from a simple tracker to what it is now.

Also a big thank you to all who made a donation. Servers are still running and I'm drinking coffee as I write this :-)

A quick update on the lack of recent updates:

I can't tell you much yet about what is coming. But I can certainly tell Hearthstone Tracker is not dead.

  • I recognize the fact that Hearthstone is a multi-platform game. Especially with the recent iPad release and upcoming Android support. I want to support the users of those platforms with the same or equivalent features (as much as possible).
  • Detection problems: image recognition is not 100% accurate. I really want the auto-detection to be 100% accurate. I'm looking into alternative detection methods.
  • Visual / user interface bugs: I will try to fix most or all of the reported issues in the current version.
  • Moving forward: Unsure.. I'm currently talking with some people about what would be the best way to move forward. E.g. web-based / multi platform targeting / ???
  • HearthstoneTracker (although not open-source) is a free product. As I'm currently without a paid job or project, I'm looking into a way of monetizing this so I can keep working on this full-time. How? I don't know yet. But don't be scared, the tool in it's current state (and upcoming minor releases) will remain 100% free.

Got to go now,

Good luck on the ladder!

1.9 - Major DirectX performance update

Major DirectX performance / memory improvement

The DirectX hook/engine received a major overhaul.

The new DirectX capture engine now eats WAY less cpu resources and memory.

On Very fast setting (30 fps). The tracker cpu usage stays below 1% and the hearthstone process around 2 %.

That's almost a 500% increase in performance :-)

The DirextX engine is now the recommended engine, as it is the fasted and can capture while hearthstone is in full-screen or in the background.

1.8.25 - Drag/drop games to arenas


  • Drag and drop games between different arenas
  • Delete multiple games at once using multi-select (using Ctrl/Shift click). Then press the 'delete' key.

I may add some toolbar buttons in an upcoming version to make this functionality less hidden :-)

Have fun

1.8.19 - performance / fixes

  • A few performance improvements in the image scanner (less memory copying)
  • Fixed an issue when doing arenas on multiple servers. It didn't take into account the current server when determining your running / last arena. Which could lead to double arenas being created.

1.8.13/14 - fixes


  • Deleting arenas didn't delete their games. Trying to delete those games resulted in a crash. Fixed this now
  • Fix the colors of the percentages in the statistics screen and added orange as a color.


  • Added a simple feature to merge arenas. Click 'merge' and if the hero matches with your previous arena the games are moved and selected arena deleted.
  • When an arena game is (wrongly) detected as a loss and it also was the 3rd loss in an arena, a new arena session was started the games after. This resulted in some split arena sessions and no way to correct this.
  • Now, when this happens, the tracker tries to correct the last game to a win (based on arena screen win/loss detection)

It's a bit complex to describe, but I hope this last fix will make arena tracking even more accurate.

Have fun!

1.8.12 - enhancements


  • Added one extra win detection point (where opponent concedes)
  • Add icons to some buttons
  • Add a toggle button to show/hide arena deck screenshot (hidden by default)
  • Changed the auto-detect engine to be a bit smarter.


  • Fixed the statusbar in arenas to show data again (oops)
  • minor ui fixes
  • add search by text to the charts screen

1.8.10 - Fix a crash and some other issues

  • Fixed a crash coming from the charting library (the 'TimeManager' error)
  • fixed some minor ui issues with selecting / deleting an arena
  • some minor cleanup of other internal stuff

I hope the crash after arena games which sometimes occurs is now solved.

1.8.6 - minor fixes

  • smarter turn detection. Extra detection points and takes into account missed turn detections
  • changed decks user interface. It works better now if you have a lot of decks.
  • changed some arena tracker logic. It's sometimes still tracking double arenas, hopefully this fixes it or helps me debugging towards a final fix.
  • add more logging to help debugging possible problems.
  • fixed a crash when deleting a deck with a slot assigned.

1.8.4 - Fix for non-english Hearthstone

Blizzard changed the title of the Hearthstone window to show a localized version.

e.g. In chinese, the window title is now: 炉石传说

This broke the window detection completely.

  • Version 1.8.4 fixes this, by not relying on the window title anymore.

Geek stuff for anyone interested:


    public static IntPtr GetHearthstoneWindow()
        if (cached != IntPtr.Zero && NativeMethods.IsWindow(cached)) return cached;
        cached = NativeMethods.FindWindow("UnityWndClass", "Hearthstone");
        return cached;


    public static IntPtr GetHearthstoneWindow()
        if (cached != IntPtr.Zero && NativeMethods.IsWindow(cached)) return cached;

            cached = NativeMethods.FindWindow("UnityWndClass", "Hearthstone");
        catch (Exception ex)

        if (cached != IntPtr.Zero)
            Log.Debug("Found hearthstone window handle (using FindWindow).");
            return cached;

        var processes = Process.GetProcessesByName(HEARTHSTONE_PROCESSNAME);
        if (processes.Length > 0)
            if (processes.Length > 1)
                Log.Debug("Multiple Hearthstone processed were found.");

            foreach (var process in processes)
                var sb = new StringBuilder(100);
                var hwnd = process.MainWindowHandle;
                NativeMethods.GetClassName(hwnd, sb, sb.Capacity);
                var classname = sb.ToString();
                if (String.Equals(classname, HEARTHSTONE_CLASSNAME, StringComparison.InvariantCultureIgnoreCase))
                    Log.Debug("Found hearthstone window handle (using Process).");
                    cached = process.MainWindowHandle;
                    Log.Debug("Ignoring Hearthstone window handle: " + classname);                        

        return cached;

Have fun!

1.8 - Arena deck screenshots

The tracker now makes screenshots of your arena deck!

  • A screenshot is automatically saved when the current running arena doesn't have one already.
  • You can take a second screenshot (for the bottom part of your deck). Scroll down your deck and click 'take second screenshot'

Have fun with it and report any issues you can find.

1.7.18 - minor fixes

Changes to arena tracking:

  • Arena win/loss ratio are now solely detected based on played games. The old method of detecting by the win keys and loss checkboxes was unreliable and caused weird bugs in some cases.
  • The new method only tracks arena wins/losses by actual played games. If you missed games due to not having the tracker on. You can add the games manually or update the arena score by hand.


  • Fix the colors in the statistics page when using the dark theme
  • Changed 'Green' to 'ForestGreen'. Should look better in dark theme
  • The statusbar now only shows relevant information. (e.g. it doesn't show a deck when in arena mode)
  • Updated the detection for 'rogue' in arena

Have fun!

1.7.7 - Deck screenshots & minor improvements

Deck screenshots are here!

The deck manager received an overhaul:

  • Removed the 'slots' interface, seemed to be a bit confusing.
  • Added option to view 'deleted' decks and to undelete a deck.
  • Add a screenshot to your decks.
  • Save notes for a deck.
  • Save an existing deck as a new deck (copying it's name, slot and image).
  • Added a button to the 'edit game' screen to open the selected deck in the deck editor.
  • Fixed various small issues relating to decks.

Other changes:

  • Arenas are now split into 0-2 / 3-6 / 7-11 / 12 wins in the chart.
  • Optimized some DirectX engine calls (less lag in game, not that there was much, but still :p)


  • Deck screenshot is now saved immediately (no need to click save).


  • Fixed (hopefully) an access violation crash in the directx engine. Anyone else noticed Blizzard broke full-screen completely in last patch?


  • Changed some scanner / detection variables for latest hearthstone patch


  • Fixed a crash in some cases when you haven't logged any arenas yet.
  • some minor ui tweaks

Have fun! and let me know if you encounter any issues.

Golden Heroes - Need your help

I'm obviously not going to reach 500 ranked games with every hero myself. So I need your help with this.

I don't know (yet) if a golden hero will break the hero detection.

But if it does, please contact me, as I will need some screenshots from you, so I can add the proper detection for it.


Version 1.7

Hey everyone,

I just uploaded version 1.7. Not much new features, but the database changed a bit so I decided to give this a new minor version number.

  • Games and arenas are now moved to an 'archive' when deleted. There is no user interface for this yet. But in case people lose their games because of 'wrong deletes'. At least I will be able to repair it for them.
  • Made the charts a bit bigger.
  • Added some extra logging for victory / defeat conditions (this will help me debugging wrong detections)
  • Added some extra data columns like created / modified and a timestamp to the database tables. (This is not visible in the UI, but will be used in the future for synchronization features)

1.6.16 - fixes

Changes since 1.6.8:

  • Fix save / save as new button sometimes hiding or disabled for no reason
  • can add games to an arena even when it's finished already (to allow changes)
  • Added some more win detection points and extra logging
  • work-around 'Capture.dll' being in use when trying to do an auto update
  • Fix a bug when saving games/arenas when your hero and opponent hero are the same
  • Fix some issues with saving decks
  • Fixed an issue where the directx engine sometimes misses a frame (not really important, but still)
  • Added better sorting. Sorting now works over all the rows within the filter range, instead of just over the visible rows.

1.6.17 * Added a check if you have 'MSI Afterburner / Riva Statistics Server Tuner' OSD (on screen display) running. This software is incompatible with Hearthstone Tracker and other screen capture software (like fraps, xsplit, obs)

Have fun!

And don't forget to support me by suggesting new features, telling your friends about this great tool or even donating a few bucks.

1.6.8 - bugfixes

  • Arenas didn't load more results when scrolling to the end. So it always showed only the first 50 results. This is fixed now
  • Changed the wording of 'Date' to 'Date (from - to)' to make it a bit more obvious that it's a date range filter.


  • Bug fixes where the 'Save / Save as new' button was hidden or disabled. Should be fixed now.

1.6.7 - save you stats to clipboard

I've pushed a small update adding a nice new feature.

It's not totally finished yet, but I just wanted to throw this out there to get some early feedback.

  • I've added a new tab: 'Statistics (charts)'. Which shows some charts with statistic.
  • You can save this as a '.png' file, or copy it to your clipboard.

I want to add more statistics / charts, but I need your feedback for this!

p.s. It would be appreciated if you leave the watermark if you share your stats on e.g. reddit. (free advertisement for HS tracker is always nice :p)

Have fun!

1.6 - Search games/arenas by text


I have just released version 1.6. This version contains some new features and I cleaned up some old code.

New features:

  • Added back the 'Stop & Discard / Stop & save' buttons in the 'current game' flyout. (in case you need to stop a running game manually)
  • You can now search your games and arenas by text. It will search the hero class names, deck names and the notes field.
  • Tweaked win detection a bit. Hopefully, this will result in less false positives.

Have fun!

1.5.22 - faster auto-detect

I just made some tweaks to the auto-detect engine. Some people reported quiet a slot down using this method.

Now, it only auto-detects once. Then it keeps using the found method, until the hearthstone window is lost / minimized or re-sized.

Also, when the DirectX engine generates too much errors. It will skip using it all together.



  • Try improve win detection a bit.

1.5.19 - Fix for decks / better 'auto-detect'

  • There was a major bug when adding / changing decks and editing a game. Fixed now
  • You can now add new arena games from the menu. Select an arena, then click 'Add arena game' from the toolbar to add a new game for the selected arena.


  • The 'auto-detect' option of the tracker engine is now even smarter. It will try every possible way to capture.

Have fun!

1.5.12 - Decks/Servers and Slow opponent mode

Decks are now per server.

I did my best trying to convert existing data, so I hope when upgrading everything is still correct.

You may have to check your decks first though.

Let me know how this works!

Also new: Slow opponent mode. When it is your turn, bring the hearthstone window to the front. Note that this is disabled by default. (Enable it in the settings)

1.5.8 - Crash error on 32 bit windows SOLVED

For everyone who had startup crashes. This was due to a bug in the UI library used in combination with Windows 32 bit.

If you had these issues, please manually update to the latest version.

Sorry about that :-)

1.5.6 - some fixes

So some things seem to have slipped trough with the deck updates

  • When renaming a deck, it now immediately updates the games shown in the datagrid
  • Remove deck from game when it is an arena game.
  • Can filter on decks again (I totally missed that one)

1.5 - DECKS !!!

Decks are here!

  • By default, you have 9 decks (Deck #1 - Deck #9)
  • Each deck can be associated with a 'slot' (1 - 9)
  • When a 'slot' is detected. The linked deck will be used for you current game
  • Statistics show all available decks (even when you deleted an old deck). They do not get mixed up anymore
  • You must keep the decks & slots in sync yourself
  • So when you delete or add a deck in hearthstone, make sure to update the slots in the tracker.

Note this is a first release, I haven't found any bugs yet. But I could have missed something.

  • In a future version, you will be able to make screenshots of your decks, and those will be saved on a per-game basis.

Have fun! and let me know what you think of this.

1.4.8 - balloon settings / tweaks

New features:

  • You can now choose which tray balloons are shown when something is detected.
  • By default, game-mode changes and game start/end balloons are shown.
  • You can also enable to show every game turn. It's disabled by default as people found it annoying.

  • When in game, you can keep notes using the textbox in the 'current game' flyout. Those will get saved when the game ends


  • Minor tweaks to try and fix some rare occurring double games detection

1.4.4 - some fixes

I've just pushed a new version to fix some of issues people have encountered in 1.4.

Let me know how this works!

1.4 - Huge UI performance boost

Performance improvements:

  • I have spent some time making the overall UI more responsive, especially when you have a lot of games
  • Games, arenas, statistics / graphs are mostly loaded in parallel now. You shouldn't feel any lag in the tracker ui anymore with 1000+ games.
  • The games/arena grid now loads your 50 last games, as you scroll it will load more on demand.


  • Fixed when arena sometimes doesn't have an end date

General improvements:

  • Changed the layout of the popup balloons to show the hero images
  • Added more popup balloons:
    • When a game-mode or deck is detected
    • When a new game round is detected

Have fun!

1.3.5 - date filter for current game stats


  • Added a date filter for the current game stats. Note that the graphs show stats only about classes, not filtered by current game-mode.


  • When clicking any of the date filter buttons it now auto closes the dropdown.
  • Start the capture engine a bit earlier in the startup process. I reverted this in 1.3.6, did not work properly

1.3 - Arena fixes & current game stats

New in this version:

  • You can change the position of the 'flyouts'. Right click on the arrow and choose right or left (see screenshot below)
  • When in-game, it now shows some statistics about the current match up. These stats are from the last month.
  • More stats and a date range selector will be added later.


  • Fixed (hopefully) an issue where double arenas are added. Let me know if you still have any issues!
  • Changed the default speed to 50 ms. Note: this is only for new installs. If you're upgrading you can set it yourself.

1.2.8 - Change data folder location

  • You can change the 'data' folder location now! (where the database and log files are stored)
  • In the main menu: Application -> Change data folder...
  • If no existing database is located in the new directory, you can let the application copy your existing database, or skip it and let it create a new database.
  • Note that the old data folder is NOT deleted (for safety of-course :-))
  • You can put the database on a thumb drive, google drive, sky drive, drop box folder, etc.

Have fun playing on your laptop!

1.2.6 - Stats & ui tweaks


  • Added a 'totals' column to the statistics page, very useful :)
  • Fixed a rare occurring issue in the game detection scanner
  • Minor tweaks to the ui (grid alignment, white on white color fixes)
  • Use hero icons instead of names in the statusbar
  • 'Played against (%)' statistic added
  • fix for rare crash case in updater
  • fix for missing arena (new arena appeared only after refresh, now this should be fixed)
  • changed some wording: latest games > games, arena sessions > sessions, support > help

1.2.3 - stats fix & statusbar

Changelog of 1.2.2:

  • Fix wrong coin statistics
  • Add total games (coin/no coin) statistic
  • Add a statusbar with some info about current game / mode, etc.

Changelog of 1.2.3:

  • You can configure the theme of the flyouts to light / dark now
  • Add a chart for 'opponent heroes' faced in %.
  • Add number of rounds and your turn / enemy turn in statusbar
  • some minor user interface tweaks

Have fun!

1.2.1 - Dates & servers

Version 1.2.1 adds multiple server support.

  • when you start the tracker (only the first time since this update), you will be asked for the default server
  • All existing games without a server will be updated to the default.
  • You can change the current / default server in the menu, make sure to switch it when you switch accounts.

Other changes:

  • A nicer date range selector.
  • Fix a divide by zero error
  • internal change how database updates are handled



  • use class colors in charts
  • changed some wording in the ui
  • fixed double arena issue

1.1.10 - minor ui tweaks

A few minor tweaks to the user interface based on some suggestions:

  • Use 'month/week/day' buttons instead of 'all/year/month'. Based on my and others experience these are more commonly used.
  • Moved scrollbars of 'games' and 'arenas' to the left. This allows scrolling them while editing your game/arena.
  • The 'to' date filter is not set by default anymore. This means, when you pass midnight, you still see new games appearing because it's not accidentally filtered out due to the 'to' date set to yesterday.

Happy gaming!

Converting from other trackers


I created a very simple tool today to convert the 'HearthTracker database' (from to a HeartstoneTracker database.

It is very simple still, does NO checking for doubles, NO error checking, etc.

So I'm not going to release it public (yet). BUT, if you want your data converted to HearthstoneTracker. Send me your hearthtracker 'data' folder and I will send you a HearthstoneTracker db.sdf file back.

You can use the uservoice helpdesk for this (See contact/feedback -> Forum link in the website top menu). Send a ticket with your e-mail and a zipped file of your data folder.

You can also send an e-mail to (don't forget to attach the zipped data folder)

Oh, and if you need conversion from another tracker, let me know and I may be able to help you ;-)


Version 1.1.8 - support requests

Hey there,

I have added a 'support request' feature to Hearthstone Tracker.

  • You can send a support request, which sends your ticket to our UserVoice helpdesk. It can automatically attach the latest log files for you.

Hopefully, this will make the users provide a little more feedback when running into issues, instead of ignoring it.

Also, it makes collecting the logfiles more easier for me, as I can just ask you to send a support ticket including the logfiles (instead of pasting it on or something).

update: version 1.1.9 fixes the colors in the support window when you use the 'dark/black' theme. Also fixed the gray background color of the column chart when using this theme.


Version 1.1.5

A small update this time.

  • made a small tweak to the arena detection. It 'should' now not update wins/losses of a running arena and just look at the actual games inside that arena.
  • solved an error caused by some new code for the upcoming web integration.

This hopefully fixes some issues where running arenas reset to the wrong score.

Let me know if there any other issues!

Version 1.1.3

Hey there,

I have just released version 1.1.3. This release adds the following new features:

  • Overall win/loss ratios per day / week / month / 7 days and 30 days.
  • Added a button to start (switching to the the Hearthstone tab). Starting Hearthstone directly isn't possible due to some Blizzard restrictions.
  • Restyled the toolbar buttons to be actual buttons, that should make them a bit easier to understand
  • Added some code for the upcoming Website integration (not active by default). More on this later.


As usual, let me know if you have any issues and / or suggestions.

Some opensource: Twitch authentication

Hey there,

While I have no plans yet to release the full source of the tracker. I do make use and contribute to some open-source projects.

One of the things I have been working on for the upcoming website integration is user accounts and the possibility to login using external login providers (like google, twitter, facebook and:

So when signing up or logging in to the tracker website, you can use any of your existing user account(s) on those sites, without sharing your password.

This is a well known and secure method called OAuth.

While I was integrating this into the website, I noticed uses a slightly different process, which forced me to write some custom code for it. I won't go into technical details here. But for anyone interested, I published the project on:

Another cool project I use in the tracker for the user interface style (and have also contributed to) is:

If you have any questions, don't forget to visit the stream:

See you later!

Older news

Looking for older news?