Title: Kubb · Turn your API spec into type-safe code
Open Graph Title: Kubb · Turn your API spec into type-safe code
Description: Generate TypeScript types, API clients, TanStack Query hooks, Zod schemas and MSW mocks from an API spec such as OpenAPI. Open source. Start with npx kubb init.
Open Graph Description: Generate TypeScript types, API clients, TanStack Query hooks, Zod schemas and MSW mocks from an API spec such as OpenAPI. Open source. Start with npx kubb init.
Keywords:
Opengraph URL: https://kubb.dev/
X: @kubbdev
Domain: kubb.dev
{"@context":"https://schema.org","@graph":[{"@id":"https://kubb.dev/#website","@type":"WebSite","description":"Kubb is an open source code generator that turns an API spec into TypeScript types, API clients, TanStack Query hooks, Zod schemas and mocks.","name":"Kubb","url":"https://kubb.dev/","publisher":{"@id":"https://kubb.dev/#identity"}},{"@id":"https://kubb.dev/#webpage","@type":"WebPage","description":"Generate TypeScript types, API clients, TanStack Query hooks, Zod schemas and MSW mocks from an API spec such as OpenAPI. Open source. Start with npx kubb init.","inLanguage":"en-US","name":"Kubb · Turn your API spec into type-safe code","url":"https://kubb.dev/","about":{"@id":"https://kubb.dev/#identity"},"isPartOf":{"@id":"https://kubb.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://kubb.dev/"]}],"primaryImageOfPage":{"@id":"https://kubb.dev/#logo"}},{"@id":"https://kubb.dev/#identity","@type":"Organization","description":"Kubb is an open source code generator. It turns an API spec, such as OpenAPI, into TypeScript types, API clients, TanStack Query hooks, Zod schemas and mocks.","email":"kubb@kubb.dev","name":"Kubb","url":"https://kubb.dev","founder":{"@id":"https://kubb.dev/#founder"},"logo":{"@id":"https://kubb.dev/#logo"},"sameAs":["https://github.com/kubb-labs/kubb","https://discord.gg/shfBFeczrm","https://www.linkedin.com/company/kubb-labs"]},{"@id":"https://kubb.dev/#founder","@type":"Person","jobTitle":"Senior Frontend Engineer","name":"Stijn Van Hulle","url":"https://www.stijnvanhulle.be","image":{"@id":"https://kubb.dev/#/schema/image/1"},"sameAs":["https://github.com/stijnvanhulle","https://stijnvanhulle.be","https://www.linkedin.com/in/stijnvanhulle","https://instagram.com/stijnvanhulle"]},{"@id":"https://kubb.dev/#/schema/software-application/1","@type":"SoftwareApplication","applicationCategory":"DeveloperApplication","description":"Open source code generator that turns an API spec into TypeScript types, API clients, TanStack Query hooks, Zod schemas and mocks.","name":"Kubb","operatingSystem":"Any","url":"https://kubb.dev/","offers":{"@type":"Offer","availability":"https://schema.org/InStock","price":0,"priceCurrency":"USD","priceValidUntil":"2027-12-30T00:00:00.000Z"}},{"@id":"https://kubb.dev/#logo","@type":"ImageObject","caption":"Kubb","contentUrl":"https://kubb.dev/logo.png","inLanguage":"en","url":"https://kubb.dev/logo.png"},{"@id":"https://kubb.dev/#/schema/image/1","@type":"ImageObject","contentUrl":"https://stijnvanhulle.be/avatar.png","inLanguage":"en","url":"https://stijnvanhulle.be/avatar.png"}]}
| None | base-uri 'none'; font-src 'self' https: data:; form-action 'self'; img-src 'self' data: https:; object-src 'none'; script-src-attr 'none'; style-src 'self' https: 'unsafe-inline'; script-src 'self' 'wasm-unsafe-eval' https://t.kubb.dev https://static.cloudflareinsights.com 'sha256-B22DWOqC9G4xYxi2R0jEyT0ZmdyAmSNYPb9WcdNFibA=' 'sha256-zd2svmBbZLeBmxgbfPI3b2FUzeTnMiwEyGhWboZoQ0I=' 'sha256-QJsiM1shjqxb3jqWSVtWimJNjnJWpjckI1sOeZctHyc=' 'sha256-QcRYnUDHO4agZb4sFG3MQMIk2bMM/kolbSpo1pDxYjM=' 'sha256-6KmefKnLYJsLi1lLvPKDwFFPtvJ4n0lhTYHbNADguCw=' 'sha256-v9L7bqdjuiP0UMWaL8dYgsKNVnox2Y2C0pAT14UlLYE=' 'sha384-25MSd7lchr0TYkPGsQzBFVzfmy0kcMA8YBG+T7YuR0pHrCJ1xbwGBKzyYDj193ZN' 'sha384-1kYWodSnKXGdGEaa5y4MWHjgWpNu7xQESviFIvlvb+8B7CB0P4FjiSmrko7U4FsP' 'sha384-hW4TM8jb5USACEIJZunyeU+rUUtfvwMQs1A3EawLL5mztOcO8CKCCWaSNEwvTZK7' 'sha384-MGnkSX3Mo8ED5zY5oBB8bBvpBGDMiS89CNmUgyf7V6n174sQxkg+tcnHkqQg6d0h' 'sha384-Dp015dz42vzG2W2J9AlfAP4Z/g7/kV8IPPefBnIQps7pzwbE8nT90GkY+VeoXB25' 'sha384-0BYz4wfSvdxmE6vSN1EmcnSEBBTKsbSSHJ6Gchm5QA/+3JI78gvY0Awsy0w38CgD' 'sha384-ImxNNHw33V4IudZBKGGPol8WuPhyXfn/lRBf5JvZBmN/2LlcQQpOelUo74t4q60F' 'sha384-ULvEBuqzPHlE4vfRdvE2YFHaOy8YTL2bIfF8M/dsMWKpsQKkgnOPMMaHi+/bJ6H5' 'sha384-keMp60eMO3P02Qiec8axvTcISZ+Cfie8b2KEloFR5HwW8ldU+u5Aa6/XHPjOtmzu' 'sha384-OdhKDIIj03vCjlbxpxXc0TkNft7DF43fy/I4hOvzIuYpknBNx62PaKGcbrNQ/A1B' 'sha384-RXzlt3YtURG/yWxRRFdEGvvx7lL+EPWgbU8gGspmvL3MPN/mhHZCrywKN+stleU1' 'sha384-HN9A8ZMOQG9euYkPA89kPklhkHv0Pb0R8bWSNT5vFK8fYcjo3c6VGKGQNheSiOtI' 'sha384-fGCtMQ2/85lN5nWLhkWv3jXIcRnSPtcCCSTSGDI+kcoyA2xwulMR+S66J9U15kWl' 'sha384-HuvcZDNgKzNAakbUzlGtwep0aKlHgEv5wgZtjJ8yaajljiC17RtY40iNN7PEDQNW' 'sha384-Lf4J7AxJwtvS546ce9Oauwf7eWJwx/1ZpgGc0Hc9juhh6I5FsmKTW3cMTvlq9ADG' 'sha384-mYH5HFY7IXGyY9s+XZ58VSfUfe2MuKo3X9SpWIqqLntBOxWS5+MD1pSIP08ccu5m' 'sha384-iy6XmtZvWrdWPPp+x09aeYtFNyYW10drD/TfWJxpKfGO0tFTd7DMzWGuSU0xZhe+' 'sha384-rO8nhsY8mZggWeI2QLcGZdcUgJg31CekBcz2HptPmfaLSBrJg8oMELGQTPeQq2SR' 'sha384-pdtvc+vLJLVlLQCsVwuEdyjNIOmYvzgQnxliPMqs4PBJA7UpEFzacqFywrmhEEOQ' 'sha384-DATcBS2ECC4Ex4dPu8tndjSAIXSydO5I+xFX8He8eVqnBYTUdWVps2m4nF8LLkvU' 'sha384-Ik4S3LP3tGNQgSp6VI16HLXQiC3E164a9d/BGX7Nd3ArOMv2bXLjL0Rv8nCK/BRk' 'sha384-S8KA1Yb08DZ5sfBdkrXrJUo1LmklNvu9uo5s7+yy/ut2QyUzQyX06+Pi0bbWG1UO' 'sha384-hpzqI7Yni7sEw27AuQwX/vNFFBw2UZo8ErMjX3W14oGb0M8/6liWctSuXF0O/OEx' 'sha384-9syMJgtIH9P/K1YDX054ic7ePRm7tdcLOXHVYZ9eJ+/cKGCjz6Nm/svrvUZzBHo6' 'sha384-bzIfrI0TygQpKKfC4fJq2klnQWPEwkYtEDMDk7vwCIkJsdicetvb7W5hb/83uQh/' 'sha384-HfHmmxXnRisB97vSKtsAcI6Jvy1L0eQaPbeyhh3jDxcW2pGk9yD9OUYcW2Hb78Cn' 'sha384-EnvQcbPMJd53aNpKKQbKz9cpfTvlpeimSXoQgTTwxPFGOItyRDV9KYz0mBbOsLve' 'sha384-7pbvwSkVtPkML+ZPzLtTi+LOQSL1M+9VIU9sudEo6avD+gphXMI1/z7vxUJeLjz6' 'sha384-rcMfi3a83JG5w7rpxZ2Ujt4GNxGGfbB/WGdBJ0a3McnQd34ZwuNSxcH74wrX1FQ9' 'sha384-nqDAiQr+e3uG3saD/Grm/zB9SryC9X98WzsjDbYMsR/o1R2rBM4mh8unK5azkwqz' 'sha384-yOKbx8mZY5Bq/YJDHPs5RqBE23Oxx/441QtThiBnvqWvhTPm5NJWbvqSzWhr3YK7' 'sha384-D8qJzjbM1y+aLmmXehcvmbJ4LRzfTa9X5vIWT3Qc394TAvl+4OCxbnvuQgbPJ4mU' 'sha384-jL9omaKyz8QYcGMNrPayvVp61V81rDWLgcbM1mss1+C5aiZMvCNGmS3YkDnf2x0S' 'sha384-La/M4+o6EIDkbDddTgsgiyNrd52uNc3mg5m+IRRrSqoccOwUpFPY5cCh6SdI0atF' 'sha384-5PEIp7x2/2IgCF43990xjcfTtw9jKZGZj5rUExGHXkYV83QtvzhQLbzvQhh/L7ze' 'sha384-JsZyRoV9ZtypkXYvPVnBK2xF1z8NEpHPzoxr1Ga4U61vdhFv+DqT4no7lWXU6SXM' 'sha384-+azJFzWK1ARKruDquEsenqPQuDXcHyd7saRxaUA/xEpWCvKRfnOkfqZt8ftuhGRw' 'sha384-5GdAtPPlWCF/xbNhyHepQawIOxnEAuFuHN1SNIo4VOaZO1oHTVoBhFCoVGC0pij8' 'sha384-trUKMQqHhdZi05lHPjfaa5jIL4Cm5GzXVosN8i1scbfHF/B6GM32A8LcXmPlXfWZ' 'sha384-LoHjjkKH+UXcR19kMAfrvqDQhViR3gZ916KkmYFb1xg1g8wqX0BhsSg7swSxpvnw' 'sha384-TfK6XEk46xAYxUQ2gAhghlBDC9FWvvqk9LeuokNk0ama8GoUD95G9RkHGO8R8B/6' 'sha384-ZhVEn/nQbQgwOVo6Ntpe6HIyOU/5KBheQ4N0XxQfIwdtBidMW28mM//E1yeqw1dv' 'sha384-CYrsDup1YwcAyKW2oYjcy4cP4GKwcVhbpPCcrRfmTJakfPRQWQsIpjKXj9OtUGri' 'sha384-CZGMwAT+e7vKyaNo2xbDFkKGgnenQ/HgmDAMr+cwTBbaFZ+K2ePYu3gVUMz6p/fG' 'sha384-XeOdkYfO5ajf9KYmOxVfGuuQZ4kv0W1ONetnT523ma6y/wgXk/EdImstnHZGLqnp' 'sha384-oeTansYv0NOrryxsdeM7jTp0VYpLjAkPPjZu8wp7wtS+EMnYzy31nGekcX0htKQc' 'sha384-71vYmZxFEmR3IPUhqs24ztVJ9W6LmNBsAtHb/CVnXk8BqcJAgV5Dhv8imVKflvvA' 'sha384-WHiCHXgYQEuGYjpfakBzHd2CKad4RdZZsMHMHKIh1ortPvrws38TibfXVVddcOII' 'sha384-GG+mtBhQtA/hVMj6TVj0PmJPEBaZAjNMgOYhFdcvD2LKLK3FlveOHeK1JXahH5cj' 'sha384-CdYCYEvbUdiIvuFXUZes94H5ftIs1XzhU/tNalc2S/+JmBAARDKTTxxmHIWbeixn' 'sha384-9peIBjCIrPt5iWxDTNlhFIdzitqi0t/BKtRNwdQ0h4tlFYqBKlkkJXZyUULXecvF' 'sha384-GBSN5IwxwjsMbnq3Dpofgv8F03XNhJ+WWJSJb0JD2gr5h6T9rI8ta+OBznBNiFlB' 'sha384-fMme4nMLI58D89VYcwCsJ8EIImLmOGTG36CBkHolfvF1R2wriRXqLL1GtUBRX4bq' 'sha384-7JiZE+L9++hs8t27dRPia/UB0JheoKnTSMpufU2ZrrMFvpHRa1axvee52KGIULA/' 'sha384-wqYbGWfUW+LTqW0JdW8frM6Krhl3f+mpSbNfxNfhWiyISHRwbrhrU0hwg0cuRhoQ' 'sha384-86aRfQHJQcCt4XrIGBfGWKNWCpO3eVPRGd2XBeT8y+NjTcGBnlo5rcZ+atX8M4Oj' 'sha384-Xuq7Jx+4vjmCO+NS5MCO0binzVTNSv79fT0rN5TIBbMb6YHpopkBR3OP5ZFIU50M' 'sha384-VZcJtMogct5sqjQVqGdCnsV6HSOeW/JY8LVOpIM7qPgXEy2Stu2IYd8flILRnoI1' 'sha384-fWpsKxoaV+/XF8Y7nzkrtPVaHonnr6OoMJj7r/axx4DZOnvakBACxcTyJenzTCpZ' 'sha384-D/dSEffyXc2wMJDxCI5/621Cir4Rjl1QKO/eKj8IEbZsL6TruPy1N7LrxCTLYClc' 'sha384-OcCN0kmwyhIgMnVD4F8fGexuXGZ05e6uxg7qrucMe1J0pzN3zuXAu6q9FXgaDAKz' 'sha384-oLCO5OPp3kHra8/WPIAxGLHBlzcrorE/UkM4st+I9FQ/Y37MKVPJZYRosINWK2jV'; upgrade-insecure-requests; default-src 'self'; connect-src 'self' https://t.kubb.dev https://api.iconify.design https://cloudflareinsights.com; frame-src https://status.kubb.dev https://www.youtube-nocookie.com; style-src-attr 'unsafe-inline'; worker-src 'self' blob: data:; |
| twitter:image | https://kubb.dev/_og/s/o_860971795a937599.png |
| og:image | https://kubb.dev/_og/s/o_860971795a937599.png |
| og:image:type | image/png |
| og:image:width | 1200 |
| og:image:height | 630 |
| author | Stijn Van Hulle |
| twitter:domain | kubb.dev |
| mobile-web-app-capable | yes |
| apple-mobile-web-app-capable | yes |
| apple-mobile-web-app-status-bar-style | black-translucent |
| og:type | website |
| og:site_name | Kubb |
| og:image:alt | Kubb · Turn your API spec into type-safe code |
| og:locale | en_US |
| twitter:card | summary_large_image |
| twitter:creator | @stijnvanhulle |
Links:
Viewport: width=device-width, initial-scale=1
Robots: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1