# Absinthe vs gqlgen

**Leader by Vioscale score:** gqlgen

| Attribute | Absinthe | gqlgen |
|---|---|---|
| **Vioscale score** | 44.8 (35% (low)) | 62.8 (36% (low)) |
| activity.commits_last_30d | 1 | 20 |
| adoption.dependent_repos | 1,257 | 3,167 |
| adoption.github_stars | 4,399 | 10,753 |
| deployment.options | `{"self_hosted":true}` | - |
| description.long | - | A schema-first code generation library for Go that lets developers define GraphQL APIs using the schema definition language and automatically generates type-safe server implementations. It eliminates boilerplate by handling code generation while enforcing type safety throughout. |
| features.capabilities | `{"role":"server","language":"Elixir","managed_cloud":false,"self_hostable":true,"subscriptions":true}` | `{"role":"server","caching":false,"language":"Go","federation":true,"managed_cloud":false,"self_hostable":true,"subscriptions":true,"auth_directives":false,"schema_approach":"schema_first","type_generation":true,"db_introspection":false}` |
| language.primary | Elixir | Go |
| license.spdx | - | MIT |
| platform.support | - | `{"cli":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://absinthe-graphql.org/","retrievedAt":"2026-08-21T13:20:08.370Z"}` | `{"type":"open_source","sourceUrl":"https://gqlgen.com","retrievedAt":"2026-08-14T21:39:40.951Z"}` |
| pricing.model | open_source | open_source |
| pricing.price_level | free | free |
| release.cadence_days | 24 | 15 |
| release.history | `[{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.11.0","date":"2026-06-04T19:07:22Z","type":"stable","version":"v1.11.0"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.10.0","date":"2026-04-03T16:08:48Z","type":"stable","version":"v1.10.0"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.9.0","date":"2025-11-21T15:08:24Z","type":"stable","version":"v1.9.0"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.8.0","date":"2025-11-06T13:26:50Z","type":"stable","version":"v1.8.0"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.7.11","date":"2025-10-30T13:52:04Z","type":"stable","version":"v1.7.11"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.7.10","date":"2025-06-09T16:38:08Z","type":"stable","version":"v1.7.10"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.7.9","date":"2025-03-14T12:16:19Z","type":"stable","version":"v1.7.9"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.7.8","date":"2025-03-14T12:09:12Z","type":"stable","version":"v1.7.8"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.7.7","date":"2024-07-11T20:29:51Z","type":"stable","version":"v1.7.7"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.6","date":"2021-09-28T21:41:45Z","type":"stable","version":"v1.6.6"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.5","date":"2021-08-03T16:35:10Z","type":"stable","version":"v1.6.5"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.4","date":"2021-04-16T21:34:35Z","type":"stable","version":"v1.6.4"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.3","date":"2021-04-16T21:34:27Z","type":"stable","version":"v1.6.3"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.2","date":"2021-02-05T07:13:44Z","type":"stable","version":"v1.6.2"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.1","date":"2021-02-01T19:20:46Z","type":"stable","version":"v1.6.1"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.0","date":"2021-01-15T23:24:08Z","type":"stable","version":"v1.6.0"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.0-rc.1","date":"2021-01-14T22:25:31Z","type":"prerelease","version":"v1.6.0-rc.1"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.6.0-rc.0","date":"2021-01-02T21:49:41Z","type":"prerelease","version":"v1.6.0-rc.0"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.5.5","date":"2020-12-08T22:55:46Z","type":"stable","version":"v1.5.5"},{"url":"https://github.com/absinthe-graphql/absinthe/releases/tag/v1.5.4","date":"2020-11-28T21:56:56Z","type":"stable","version":"v1.5.4"}]` | `[{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.94","date":"2026-07-09T15:29:06Z","type":"stable","version":"v0.17.94"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.93","date":"2026-06-25T23:54:10Z","type":"stable","version":"v0.17.93"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.92","date":"2026-06-21T13:23:58Z","type":"stable","version":"v0.17.92"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.91","date":"2026-06-11T14:33:01Z","type":"stable","version":"v0.17.91"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.90","date":"2026-04-25T19:11:01Z","type":"stable","version":"v0.17.90"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.89","date":"2026-03-24T18:45:49Z","type":"stable","version":"v0.17.89"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.88","date":"2026-03-09T00:10:30Z","type":"stable","version":"v0.17.88"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.87","date":"2026-02-19T14:14:40Z","type":"stable","version":"v0.17.87"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.86","date":"2026-01-12T01:28:31Z","type":"stable","version":"v0.17.86"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.85","date":"2025-12-17T02:21:31Z","type":"stable","version":"v0.17.85"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.84","date":"2025-11-24T16:56:20Z","type":"stable","version":"v0.17.84"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.83","date":"2025-11-11T02:05:44Z","type":"stable","version":"v0.17.83"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.82","date":"2025-11-07T01:29:47Z","type":"stable","version":"v0.17.82"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.81","date":"2025-09-25T23:00:54Z","type":"stable","version":"v0.17.81"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.80","date":"2025-09-17T16:13:26Z","type":"stable","version":"v0.17.80"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.79","date":"2025-09-14T19:35:25Z","type":"stable","version":"v0.17.79"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.78","date":"2025-07-27T23:09:18Z","type":"stable","version":"v0.17.78"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.77","date":"2025-07-27T03:26:30Z","type":"stable","version":"v0.17.77"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.76","date":"2025-06-28T23:25:19Z","type":"stable","version":"v0.17.76"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.75","date":"2025-06-16T14:42:20Z","type":"stable","version":"v0.17.75"}]` |
| security.scorecard | 4.5 | 6.6 |
| security.vulnerabilities | `{"count":4,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=hex&package_name=absinthe&per_page=100","last_12m":4,"max_severity":"HIGH"}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2F99designs%2Fgqlgen&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (GraphQL Tools)

| Capability | Absinthe | gqlgen |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Server | Server |
| Primary language | Elixir | Go |
| **Modelling** |  |  |
| Schema approach | - | Schema-first |
| **Scale** |  |  |
| Federation / subgraph composition | - | ✓ |
| **Realtime** |  |  |
| Real-time subscriptions | ✓ | ✓ |
| **Performance** |  |  |
| Response / edge caching | - | ✗ |
| **DX** |  |  |
| Typed code generation | - | ✓ |
| **Automation** |  |  |
| Generates API from a database | - | ✗ |
| **Security** |  |  |
| Built-in authz / permissions | - | ✗ |
| **Deployment** |  |  |
| Official hosted offering | ✗ | ✗ |
| Self-hostable | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T16:26:55.287Z. "-" = undocumented, not absent.*
