PHPackages                             mlntn/hearthstone-deckcodes - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mlntn/hearthstone-deckcodes

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mlntn/hearthstone-deckcodes
===========================

Encode and decode Hearthstone deck codes

1.0.0(7y ago)397MITPHP

Since Jun 23Pushed 7y ago1 watchersCompare

[ Source](https://github.com/mlntn/hearthstone-deckcodes)[ Packagist](https://packagist.org/packages/mlntn/hearthstone-deckcodes)[ RSS](/packages/mlntn-hearthstone-deckcodes/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Hearthstone Deckcodes
=====================

[](#hearthstone-deckcodes)

This library converts Hearthstone deck codes to - and from - very simple classes. The integers are DBFIDs that can be mapped to data from [hearthstonejson.com](https://hearthstonejson.com/) or some other source.

Installation
------------

[](#installation)

```
composer require mlntn/hearthstone-deckcodes
```

Get a deck from a code
----------------------

[](#get-a-deck-from-a-code)

```
use Mlntn\Hearthstone\Deckcode;

$dc = new Deckcode;

$deck = $dc->getDeckFromCode('AAEBAaoIBPIFsQiUvQLN9AIN0wHZB/AH1g+QELIU96oC+6oCoLYCh7wC0bwC9r0ClO8CAA==');
```

#### Result

[](#result)

```
class Mlntn\Hearthstone\Deck#5 (3) {
  public $format =>
  int(1)
  public $heroes =>
  array(1) {
    [0] =>
    class Mlntn\Hearthstone\Hero#6 (1) {
      public $id =>
      int(1066)
    }
  }
  public $cards =>
  array(17) {
    [0] =>
    class Mlntn\Hearthstone\Card#7 (2) {
      public $id =>
      int(754)
      public $count =>
      int(1)
    }
    [1] =>
    class Mlntn\Hearthstone\Card#8 (2) {
      public $id =>
      int(1073)
      public $count =>
      int(1)
    }
    [2] =>
    class Mlntn\Hearthstone\Card#9 (2) {
      public $id =>
      int(40596)
      public $count =>
      int(1)
    }
    [3] =>
    class Mlntn\Hearthstone\Card#10 (2) {
      public $id =>
      int(47693)
      public $count =>
      int(1)
    }
    [4] =>
    class Mlntn\Hearthstone\Card#11 (2) {
      public $id =>
      int(211)
      public $count =>
      int(2)
    }
    [5] =>
    class Mlntn\Hearthstone\Card#12 (2) {
      public $id =>
      int(985)
      public $count =>
      int(2)
    }
    [6] =>
    class Mlntn\Hearthstone\Card#13 (2) {
      public $id =>
      int(1008)
      public $count =>
      int(2)
    }
    [7] =>
    class Mlntn\Hearthstone\Card#14 (2) {
      public $id =>
      int(2006)
      public $count =>
      int(2)
    }
    [8] =>
    class Mlntn\Hearthstone\Card#15 (2) {
      public $id =>
      int(2064)
      public $count =>
      int(2)
    }
    [9] =>
    class Mlntn\Hearthstone\Card#16 (2) {
      public $id =>
      int(2610)
      public $count =>
      int(2)
    }
    [10] =>
    class Mlntn\Hearthstone\Card#17 (2) {
      public $id =>
      int(38263)
      public $count =>
      int(2)
    }
    [11] =>
    class Mlntn\Hearthstone\Card#18 (2) {
      public $id =>
      int(38267)
      public $count =>
      int(2)
    }
    [12] =>
    class Mlntn\Hearthstone\Card#19 (2) {
      public $id =>
      int(39712)
      public $count =>
      int(2)
    }
    [13] =>
    class Mlntn\Hearthstone\Card#20 (2) {
      public $id =>
      int(40455)
      public $count =>
      int(2)
    }
    [14] =>
    class Mlntn\Hearthstone\Card#21 (2) {
      public $id =>
      int(40529)
      public $count =>
      int(2)
    }
    [15] =>
    class Mlntn\Hearthstone\Card#22 (2) {
      public $id =>
      int(40694)
      public $count =>
      int(2)
    }
    [16] =>
    class Mlntn\Hearthstone\Card#23 (2) {
      public $id =>
      int(46996)
      public $count =>
      int(2)
    }
  }
}

```

Get a code from a deck
----------------------

[](#get-a-code-from-a-deck)

```
use Mlntn\Hearthstone\Card;
use Mlntn\Hearthstone\Deck;
use Mlntn\Hearthstone\Deckcode;
use Mlntn\Hearthstone\Hero;

$deck = new Deck(Deck::FORMAT_WILD);
$deck->addHero(new Hero(1066));
$deck->addCard(new Card(754, 1));
$deck->addCard(new Card(1073, 1));
$deck->addCard(new Card(40596, 1));
$deck->addCard(new Card(47693, 1));
$deck->addCard(new Card(211, 2));
$deck->addCard(new Card(985, 2));
$deck->addCard(new Card(1008, 2));
$deck->addCard(new Card(2006, 2));
$deck->addCard(new Card(2064, 2));
$deck->addCard(new Card(2610, 2));
$deck->addCard(new Card(38263, 2));
$deck->addCard(new Card(38267, 2));
$deck->addCard(new Card(39712, 2));
$deck->addCard(new Card(40455, 2));
$deck->addCard(new Card(40529, 2));
$deck->addCard(new Card(40694, 2));
$deck->addCard(new Card(46996, 2));

$dc = new Deckcode;
$code = $dc->getCodeFromDeck($deck);
```

#### Result

[](#result-1)

```
AAEBAaoIBPIFsQiUvQLN9AIN0wHZB/AH1g+QELIU96oC+6oCoLYCh7wC0bwC9r0ClO8CAA==

```

Thanks
------

[](#thanks)

Thanks to all the folks that figured out the format and shared code online. I looked at a lot of different code to get this to a working state.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2878d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/968c6b54158500d8fa69a58ee08aabae6ff00a60d064dd6f541e933a92d515f2?d=identicon)[mlntn](/maintainers/mlntn)

---

Top Contributors

[![mlntn](https://avatars.githubusercontent.com/u/513531?v=4)](https://github.com/mlntn "mlntn (4 commits)")

---

Tags

deckhearthstonedeckhearthstone

### Embed Badge

![Health badge](/badges/mlntn-hearthstone-deckcodes/health.svg)

```
[![Health](https://phpackages.com/badges/mlntn-hearthstone-deckcodes/health.svg)](https://phpackages.com/packages/mlntn-hearthstone-deckcodes)
```

###  Alternatives

[laracademy/generators

This package will generate a Laravel Model based on your database table itself, filling in the required fields automatically.

355346.4k4](/packages/laracademy-generators)[beyondcode/laravel-vouchers

Allow users to redeem vouchers that are bound to models..

70763.4k2](/packages/beyondcode-laravel-vouchers)[happyr/message-serializer

Serialize classes the good way.

80491.3k](/packages/happyr-message-serializer)[h4kuna/number-format

Object wrapper above number\_format

1889.3k2](/packages/h4kuna-number-format)[yii2mod/yii2-link-preview

LinkPreview widget renders page preview

291.7k](/packages/yii2mod-yii2-link-preview)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
