openapi-typescript VS protobuf-ts

Compare openapi-typescript vs protobuf-ts and see what are their differences.

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
openapi-typescript protobuf-ts
27 14
7,301 1,282
1.2% 1.9%
9.3 8.2
1 day ago 11 days ago
TypeScript TypeScript
MIT License Apache License 2.0
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.

openapi-typescript

Posts with mentions or reviews of openapi-typescript. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-05-19.
  • Zod 4
    8 projects | news.ycombinator.com | 19 May 2025
    OpenAPI TypeScript is the closest thing I’ve found to perfection when your API is written in a different language than your client.

    https://openapi-ts.dev/

  • openapi-fetch-gen – Generate TypeScript API client from OpenAPI TypeScript interface definitions created by openapi-typescript
    2 projects | dev.to | 20 Apr 2025
    openapi-ts/openapi-typescript is a powerful tool for generating TypeScript schema definitions from OpenAPI 3 specifications. The same organization also provides openapi-fetch, a type-safe fetch client library designed to work seamlessly with these generated schemas. Although very useful, one notable hurdle with openapi-fetch is that developers must manually implement client code for each API endpoint.
  • A 10x Faster TypeScript
    38 projects | news.ycombinator.com | 11 Mar 2025
    Overly expressive type systems have way more potential for footguns than simple type systems. In fact, I would say that overly expressive type systems make it easy to create unmaintainable code (still waiting on this showstopping bug which nobody can debug because it uses overly expressive types in TS: https://github.com/openapi-ts/openapi-typescript/issues/1769)
  • Show HN: Borea: generate typesafe SDKs from OpenAPI
    2 projects | news.ycombinator.com | 7 Mar 2025
    hi, few questions,

    -who is your ideal user/customer? what stack are they using, and why do they use you?

    -why did you decide to work on this? (ie, what inspired you?)

    -how do you compare against openapi templated/generated SDKs? ie i use openapi-typescript (https://openapi-ts.dev/) and it is fantastic

    -there seem to be some VC backed companies in the space: https://news.ycombinator.com/item?id=40147281, what is your edge?

    -as someone who tried to maintain a few SDKs in my non-familiar languages (go, java, c#), i think i definitely see a paid use case for giving the problem to someone else who can maintain a quality SDK, but there are already 3-4 VC backed companies in the space, and i think the existing free tools are not bad if you spend some time with them, what is the gap/thing they're missing?

    ty, john

  • gRPC vs. REST: Understand gRPC, OpenAPI and REST and When to Use in API Design
    12 projects | news.ycombinator.com | 22 Jan 2025
    Oof, I strongly disagree with this article's description of how REST apis are used, and the distinction between openAPI and rest. If I design a REST api in 2023, and in 2024 produce an openapi yaml or json file for that API with no other changes, is it somehow no longer a REST api? of course not. The article seems to be predicated on this distinction.

    > The least-commonly used API model is REST

    Is that true? I don't think it is frankly, though I suppose if any API that would be a REST api _if it didn't have an openapi spec_ is somehow no longer a REST api, then maybe? But as previously stated, I just don't think that's true.

    > A signature characteristic of [REST APIs] is that clients do not construct URLs from other information

    I don't think this is true in practice. Let us consider the case of a webapp that uses a REST api to fetch/mutate data. The client is a browser, and is almost certainly using javascript to make requests. Javascript doesn't just magically know how to access resources, your app code is written to construct urls (example: getting an ID from the url, and then constructing a new url using that extracted ID to make an api call to fetch that resource). In fact, the only situation where I think this description of how a REST api is used is _defensibly_ true (and this is hella weak), is where the REST api in question has provided an openapi spec, and from that spec, you've converted that into a client library (example: https://openapi-ts.dev). In such a situation, the client has a nice set of functions to call that abstract away the construction of the URL. But somewhere in the client, _urls are still being constructed_. And going back to my first complaint about this article, this contrived situation combines what the article states are two entirely distinct methods for designing apis (rest vs openapi).

    Re: the article's description of rpc, I actually don't have any major complaints.

  • How types make hard problems easy
    4 projects | news.ycombinator.com | 19 Dec 2024
    I've seen some truly insane TS types. Ones that validate SQL queries and stuff.

    The problem with complex TS types is that there's no debug tooling. You can't set a breakpoint, you can't step through the type propagation. If there's an issue you have to just do trial and error, which can be extremely difficult if the type is super complex.

    Here's a super complex type I ran into in the wild that has a bug that is extremely difficult to fix unless you burn hours on trial and error: https://github.com/openapi-ts/openapi-typescript/blob/main/p...

    Related issue: https://github.com/openapi-ts/openapi-typescript/issues/1769...

  • Good programmers worry about data structures and their relationships
    3 projects | news.ycombinator.com | 16 Aug 2024
    > I must be a part of the problem because reading that type isn't too difficult. I also think types like this aren't innately problematic when they live in libraries.

    Despite the star count on the repo, that particular type has a ton of bugs with it that are currently open issues, some of which are super esoteric to solve:

    https://github.com/openapi-ts/openapi-typescript/issues/1778...

    In this case ^ the problem was due to "behavioral differences based on the strictNullChecks ... compiler option. When that option is false (the default), undefined is considered to be a subtype of every other type except never"

    Maybe I'm old school, but as long as we are using metaprogramming to solve a problem, I'd rather code gen dumb types vs. an ultra complex type that acheieves the same thing. Dumb types are easy to debug and you won't run into language corner cases like when `undefined extends` has different behavior when strict mode is on or off.

  • Show HN: API Typegen – Generate TypeScript types from API responses
    2 projects | news.ycombinator.com | 27 Jul 2024
    Tbh, there is no benefit of using this package if the API you are working with has an openapi spec, as there are other great libraries to help you generate accurate types such as https://github.com/openapi-ts/openapi-typescript. But I made this package to use when working with external apis that don't have an available spec.
  • Node.js adds experimental support for TypeScript
    20 projects | news.ycombinator.com | 24 Jul 2024
    Maybe I just have bad luck, but most of the libraries I've tried that are "crazy to look at" seem good in theory but are janky in practice. For example, openapi-fetch (https://github.com/openapi-ts/openapi-typescript/tree/main/p...), on paper seems great, but has lots of jank in practice.

    And I would wager the bugs and jank are in no small part due to the extremely complex generics/constraints.

  • TypeSpec: A New Language for API-Centric Development
    11 projects | news.ycombinator.com | 29 Apr 2024

protobuf-ts

Posts with mentions or reviews of protobuf-ts. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-04-21.
  • Using gRPC in React the Modern Way: From gRPC-web to Connect
    7 projects | dev.to | 21 Apr 2025
    protobuf-ts is a third-party implementation. This solution only requires installing two libraries:
  • tRPC – Move Fast and Break Nothing. End-to-end typesafe APIs made easy
    30 projects | news.ycombinator.com | 12 Aug 2023
    DX for front or back end? The beauty of tRPC is that the types are derived/inferred from the backend runtime code (like, as you type). It would be nigh impossible to do that with grpc(-web) using proto files as the source of truth.

    It's possible there's a project out there which could automatically produce proto files from something like zod, json-schema, etc. which could be directly interpreted by TS to provide similar (as you type) DX while still allowing some other language backend to consume the derived proto files (though the DX there would be less than ideal).

    If you're just looking for similar TS clients/interfaces for grpc-web then I'd recommend https://github.com/timostamm/protobuf-ts which operates on plain JS objects (no new MyMessage().serialize(), instead the code generator mostly produces TS interfaces for you to work against: const myMessage: MyMessage = pojoConformingToInterface; const binary = MyMessage.toBinary(myMessage);)

  • Error using JWT Authentication using GRPC Web in .net 7; postman works - typescript client does not authorize
    1 project | /r/csharp | 28 Apr 2023
    https://github.com/timostamm/protobuf-ts (RpcMetaData) https://github.com/timostamm/protobuf-ts/blob/main/MANUAL.md
  • gRPC vs REST: Comparing API Styles in Practice
    6 projects | dev.to | 21 Feb 2023
    The second big difference is that we now have auto-generated client and server stubs. For this task, I chose to use buf and the protobuf-ts plugin in order to generate idiomatic Typescript classes and objects. Not only do these classes describe the types we'll use in the server and client, but also includes the actual gRPC implementations used to serialize and send messages back and forth across the wire.
  • Why are gRPC and Node.js so difficult?
    3 projects | /r/node | 5 Feb 2023
    I wouldn’t use grpc with web if you can avoid it. If you’re looking for a ts protobuf library I can recommend this one https://github.com/timostamm/protobuf-ts
  • GRPC Gateway API Client?
    6 projects | /r/golang | 4 Feb 2023
  • Building a real-time bidding system with Socket.io and React Native
    1 project | /r/javascript | 15 Nov 2022
    https://github.com/timostamm/protobuf-ts looks interesting too.
  • Connect-Web: ergonomic Protobuf & gRPC for browsers
    3 projects | /r/typescript | 4 Aug 2022
    I'd recommend looking into protobuf-ts (Timo from Buf) or protobuf-es (Buf maintained).
  • Rust GRPC
    1 project | /r/rust | 25 Jul 2022
    Use a GRPC library for frontend, assuming you want to go with Typescript take a look at https://github.com/timostamm/protobuf-ts Frontend frameworks like Angular/React/Vue don't define what and how to implement backend communication. You can use what you want and how you want it.
  • Connect: A Better gRPC
    10 projects | news.ycombinator.com | 1 Jun 2022
    And there's also this which is by the same author but came before it: https://github.com/timostamm/protobuf-ts

    The latter has code-generation for services and has various transport packages for twirp, grpc, and grpc-web.

What are some alternatives?

When comparing openapi-typescript and protobuf-ts you can also consider the following projects:

trpc-openapi - OpenAPI support for tRPC 🧩

ts-proto - An idiomatic protobuf generator for TypeScript

proposal-decorators - Decorators for ES6 classes

reflect-metadata - Prototype for a Metadata Reflection API for ECMAScript

nestjs-auth - Comprehensive handling of authentication and authorization for NestJS.

grpc-web - gRPC Web implementation for Golang and TypeScript

Sevalla - Deploy and host your apps and databases, now with $50 credit!
Sevalla is the PaaS you have been looking for! Advanced deployment pipelines, usage-based pricing, preview apps, templates, human support by developers, and much more!
sevalla.com
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured