Hex
hex.pm
What it is
Hex is a package manager for the BEAM ecosystem, including Elixir and Erlang. Its services include an HTTP API, a website, a package and index repository, HexDocs, Mix integration, and other components. Packages work with Mix, Rebar, and erlang.mk, and the site provides usage guidance for Gleam. Developers can fetch dependencies without creating an account.
Organizations can publish and retrieve private packages and manage which users can access them. Free organizations can publish public dependency policies; paid organizations can make policies private and apply them to public and private packages. A private package can depend only on packages in its organization’s repository and the global hexpm repository. Documentation explains how to build and serve a repository on infrastructure an organization operates. Hex supports organization authentication keys for CI, and its source code is licensed under the Apache 2 License. The Open Source plan is free. Private Packages are listed at $9 / user / month, with an annual option at $90 / per user / per year. Enterprise pricing is by contacting sales. Hex lists API, self-hosted, and web platforms.
Spec sheet
- What it does
- Hex is a package manager for the BEAM ecosystem, including languages such as Elixir and Erlang.Read 28 Sep 2026 · hex.pm
- Free plan
- YesRead 20 Sep 2026 · hex.pm
- Security
- Hex supports organization authentication keys for CI, and its About page directs security vulnerability reports to [email protected].Read 28 Sep 2026 · hex.pm
- Support
- Hex directs users to [email protected] for direct contact with the core team and general support.Read 28 Sep 2026 · hex.pm
- Founded
- 2014Read 28 Sep 2026 · hex.pm
- Company
- Hex is operated by Swedish limited company Six Colors AB, which supports its development and runs its services.Read 28 Sep 2026 · hex.pm
- Build tools
- Hex packages are supported by Mix, Rebar, and erlang.mk, and the site also provides Gleam usage guidance.Read 28 Sep 2026 · hex.pm
- Components
- Hex consists of an HTTP API, website, package and index repository, HexDocs, Mix integration, and other services.Read 28 Sep 2026 · hex.pm
- Dependency fetching
- Users can fetch dependencies from Hex without creating an account.Read 28 Sep 2026 · hex.pm
- Dependency policies
- Free organizations can publish public dependency policies, while paid organizations can publish private policies that govern public and private packages.Read 28 Sep 2026 · hex.pm
- Notable limit
- A private package can depend only on packages in its own organization repository and the global hexpm repository.Read 28 Sep 2026 · hex.pm
- Private packages
- Organizations can publish and fetch private packages and control which users have access.Read 28 Sep 2026 · hex.pm
- Self hosting
- The documentation explains how to build and serve a Hex package repository on infrastructure you operate.Read 28 Sep 2026 · hex.pm
- Source license
- Hex source code is licensed under the Apache 2 License and maintained by the Hex core team.Read 28 Sep 2026 · hex.pm
Plans and prices
Strong points and limits
Strong points
- Dependency fetching does not require an account.
- Packages work with Mix, Rebar, and erlang.mk.
- Organizations can manage private package access.
- Offers public and private dependency policies.
- Provides documentation for self-hosting a repository.
Limits
- Private packages can depend only on the organization and global repositories.
- Enterprise pricing is available through sales.
- Package size limit is 16 MB.
Who it suits
Hex suits developers working with BEAM languages and teams that need to publish or manage private packages. Its self-hosting documentation may also suit organizations that want to operate a package repository on their own infrastructure.
Hex in depth
Read the full write-up
Hex is a package manager and package service for Elixir, Erlang and other BEAM projects. It is a strong fit for teams that want shared public packages or controlled private distribution within that ecosystem. Choose it for BEAM-specific publishing and dependency workflows; look elsewhere if your packages must draw on multiple private repositories.
Overview
Hex combines a package and index repository with an HTTP API, website, HexDocs and Mix integration. Packages work with Mix, Rebar and erlang.mk, and Hex provides usage guidance for Gleam. Developers can fetch dependencies without an account, which keeps public package consumption straightforward. The trade-off is focus: Hex is built around the BEAM ecosystem, rather than serving as a universal registry for unrelated languages.
Public packages can have multiple owners and public dependency policies. Organizations can publish private packages and control user access, with private dependency policies available to paid organizations. A constraint matters for teams with divided infrastructure: a private package can depend only on packages in its own organization repository and the global hexpm repository.
Key features
Public publishing: The free plan allows unlimited public packages, multiple package owners and public dependency policies. That is ample for open-source BEAM projects, but it does not provide private package controls.
Private package access: Paid organizations can publish and fetch unlimited private packages, restrict access by user and publish private package documentation. This suits teams that need private BEAM distribution without operating a repository themselves; per-user billing makes it less attractive when a large group needs access.
Dependency policies: Private policies can govern public and private packages on paid plans, while free organizations can publish public policies. The private-package repository boundary may complicate teams that split internal dependencies across organizations.
Self-hosting and security: Documentation covers building and serving a repository on infrastructure you operate. Hex also supports organization authentication keys for CI. This offers a route for teams with infrastructure requirements, though enterprise-level features come at custom pricing.
Pricing
Hex is freemium, with a 30-day trial. The free Open Source plan costs nothing and includes unlimited public packages, public package documentation, multiple package owners and public dependency policies. It is the clear choice for public-only publishing, but it excludes private package capabilities.
Private Packages costs $9 a month, billed $9 / user / month. It adds unlimited private packages, private package documentation, republishing and deletion, and private dependency policies. This is the relevant tier for organizations that need those controls, but the per-user charge can add up across a broad team. The annual Private Packages plan costs $90 a year, billed $90 / per user / per year, and includes unlimited private packages, private package documentation and private dependency policies. It is cheaper per user than paying monthly across a full year, but does not include the monthly plan's stated republish and delete capability.
Enterprise uses custom pricing and adds the option to run your own infrastructure, mirror hex.pm packages, whitelist allowed and vetted packages, and apply Security Packages. It is aimed at organizations that need those controls rather than just private package hosting.
Platforms
Hex is offered as a web service and API, and repository self-hosting is supported on infrastructure you operate. Its package ecosystem coverage is multi, with a 16 MB package size limit. That limit is worth checking for unusually large artifacts before adopting Hex as a distribution channel.
Who it's for
Hex fits Elixir, Erlang and other BEAM developers who want a shared package destination, including open-source maintainers who need no-cost public publishing. It also suits organizations that need private packages, user access controls or dependency policies and accept per-user pricing. Teams needing private packages to depend on packages across multiple organization repositories should account for the repository restriction before committing.
Pros and cons
Pro: Public packages are unlimited on the free plan, and consumers can fetch dependencies without accounts, lowering barriers for open-source use.
Pro: Paid plans combine private package hosting, user access control and private dependency policies for BEAM organizations.
Pro: Self-hosting documentation and an Enterprise option for mirroring and package whitelisting give infrastructure-conscious teams additional choices.
Con: Private packages can depend only on their own organization's repository and hexpm, restricting cross-organization private dependency setups.
Con: Private Packages bills per user, so costs grow with team access; its annual plan also omits republishing and deletion from the listed inclusions.
Con: The 16 MB package limit may rule out larger artifacts.
Alternatives
Inedo ProGet is worth considering when private feeds for packages and Docker matter more than BEAM-specific tooling; its free edition offers unlimited private feeds, though security and compliance features are limited.
npm is the closer fit for JavaScript projects: its free plan supports public package authors, unlimited public packages and access to the public registry.
Conan is a free and open-source package manager for C and C++ dependency and binary management, making it a better ecosystem match for those projects.
LuaRocks is a free package manager and module hosting service for Lua projects.
pypiserver is a free, self-hosted, minimal PyPI-compatible API for Python package serving.
Bioconductor is a free open-source software option for readers working in its package ecosystem.
aptly is a free CLI tool and HTTP REST service for readers seeking a package-management tool with those interfaces.
CPAN is a free Perl software and documentation archive.
Browse Package Registries or Package Managers for more options.
Verdict
Choose Hex if your work centers on BEAM packages and you want free, unlimited public publishing or paid private package controls without building a registry. Its focused integrations and account-free fetching make it a practical shared home for BEAM dependencies. Look elsewhere if you need private dependencies spanning multiple organization repositories, larger packages than the 16 MB limit, or a package workflow for another ecosystem.
Verdict
Hex supports public and private package workflows across the BEAM ecosystem, with options for access control and dependency policies. The free plan covers public packages; private package plans have monthly and annual prices, while Enterprise pricing is by request.
Where Specifiction places it
- Package Managers#26 of 938.3
- Package Registries#10 of 288.3