graphql-upload VS graphql-helix

Compare graphql-upload vs graphql-helix and see what are their differences.


Middleware and an Upload scalar to add support for GraphQL multipart requests (file uploads via queries and mutations) to various Node.js GraphQL servers. (by jaydenseric)


A highly evolved GraphQL HTTP Server 🧬 (by contra)
Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
graphql-upload graphql-helix
4 11
1,222 528
- 9.8%
6.6 9.0
3 days ago 1 day ago
JavaScript TypeScript
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of graphql-upload. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-02.


Posts with mentions or reviews of graphql-helix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-20.
  • a first look at graphQL helix
    6 projects | | 20 Sep 2021
    GraphQL Helix is a framework and runtime agnostic collection of utility functions for building your own GraphQL HTTP server. Instead of providing a complete HTTP server or middleware plugin function, GraphQL Helix only provides a handful of functions for turning an HTTP request into a GraphQL execution result. You decide how to send back the response.
  • Introducing Envelop - The GraphQL Plugin System
    12 projects | | 29 Jul 2021
    import { envelop, useSchema, useLogger } from '@envelop/core'; import fastify from 'fastify'; import { processRequest, getGraphQLParameters } from 'graphql-helix'; // This creates the `getEnveloped` function for us. Behind the scense the wrapped functions are created once, here. const getEnveloped = envelop({ plugins: [useSchema(schema), useLogger()], }); const app = fastify(); app.route({ method: ['POST'], url: '/graphql', async handler(req, res) { // Here we can pass the request and make available as part of the "context". // The return value is the a GraphQL-proxy that exposes all the functions. const { parse, validate, contextFactory, execute, schema } = getEnveloped({ req, }); const request = { body: req.body, headers: req.headers, method: req.method, query: req.query, }; const { operationName, query, variables } = getGraphQLParameters(request); // Here, we pass our custom functions to Helix, and it will take care of the rest. const result = await processRequest({ operationName, query, variables, request, schema, parse, validate, execute, contextFactory, }); if (result.type === 'RESPONSE') { res.status(result.status); res.send(result.payload); } else { // You can find a complete example with Subscriptions and stream/defer here: // res.send({ errors: [{ message: 'Not Supported in this demo' }] }); } }, }); app.listen(3000, () => { console.log(`GraphQL server is running...`); });
  • Subscriptions and Live Queries - Real Time with GraphQL
    5 projects | | 29 Jul 2021
    Fortunately, we now have libraries like Graphql Helix, which, in my humble opinion, should replace express-graphql as the reference HTTP implementation since GraphQL Helix is also not tied to any web server framework.
  • GraphQL - Diving Deep
    47 projects | | 29 Jul 2021
    If you are using Node.js there are a lot of implementations of GraphQL servers with a few being express-graphql, apollo-server, mercurius, graphql-helix and more. And if you are using other languages, you can see a great list here
  • The Stack #1
    9 projects | | 29 Jul 2021
    Graphql Helix
  • The Stack #2
    13 projects | | 29 Jul 2021
    In the previous blog, we had started going through "The GraphQL Stack" that we use at Timecampus going through various libraries and tools like VSCode, GraphQL Config, VSCode GraphQL, GraphQL ESLint, GraphQL Inspector, Typescript, GraphQL Helix and GraphQL Codegen. In this blog, we will continue our journey exploring from where we left off.
  • Need guidance on apollo subscription fallback
    4 projects | | 16 May 2021
    If you want to do GraphQL subscriptions over HTTP you should look into graphql-helix (, which gives you a generic interface for doing subscriptions over HTTP SSE (Server Side Events). graphql-helix can be used with any http transport.
  • What are your thoughts on Next/Apollo/Prisma stack? Should I use it for my project (see details in the description)? Can you share some advice?
    6 projects | | 14 May 2021
    Instead of apollo-server I would highly recommend using graphql-helix and/or graphql-ws
  • What is the best way to set up a GraphQL server?
    5 projects | | 24 Apr 2021
    Apollo Server can be setup on its own, or as middleware for popular HTTP servers such as Express and Fastify. Apollo Server is also the default server used by the @nestjs/graphql module, if you decide to use NestJS, and TypeGraphQL's schemas can be injected into either of the three options I mentioned, as well as others such as Helix.
  • A demo how to use GraphQL without Apollo
    2 projects | | 20 Jan 2021
    You can instead also do subscriptions over HTTP with SSE. is a great and IMHO the better wrapper around graphql.js instead of graphql-http, as it also has first class subscription over HTTP support and isnt tied to express.

What are some alternatives?

When comparing graphql-upload and graphql-helix you can also consider the following projects:

graphql-jit - GraphQL execution using a JIT compiler

giraphql - GiraphQL is library for creating GraphQL schemas in typescript using a strongly typed code first approach

mercurius - Implement GraphQL servers and gateways with Fastify

graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.

nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷

envelop - Envelop is a lightweight library allowing developers to easily develop, share, collaborate and extend their GraphQL execution layer. Envelop is the missing GraphQL plugin system.

react-dropzone - Simple HTML5 drag-drop zone with React.js.

prisma1 - 💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB)

Postwoman - 👽 Open source API development ecosystem

graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.

node-graphql-benchmarks - Benchmarks for different Node.js GraphQL Servers

express-graphql - Create a GraphQL HTTP server with Express.