Gathering detailed insights and metrics for fastify
Gathering detailed insights and metrics for fastify
Gathering detailed insights and metrics for fastify
Gathering detailed insights and metrics for fastify
@fastify/busboy
A streaming parser for HTML form data for node.js
@fastify/error
A small utility, used by Fastify itself, for generating consistent error objects across your codebase and plugins.
fastify-plugin
Plugin helper for Fastify
@fastify/ajv-compiler
Build and manage the AJV instances for the fastify framework
Fast and low overhead web framework, for Node.js
npm install fastify
Typescript
Module System
Node Version
NPM Version
90.4
Supply Chain
99
Quality
94.9
Maintenance
100
Vulnerability
100
License
JavaScript (91.36%)
TypeScript (8.59%)
Shell (0.05%)
Total Downloads
251,937,186
Last Day
398,415
Last Week
2,559,474
Last Month
10,583,914
Last Year
104,266,432
NOASSERTION License
33,810 Stars
4,404 Commits
2,412 Forks
300 Watchers
17 Branches
782 Contributors
Updated on May 24, 2025
Latest Version
5.3.3
Package Id
fastify@5.3.3
Unpacked Size
2.50 MB
Size
447.87 kB
File Count
349
NPM Version
10.9.0
Node Version
22.10.0
Published on
May 13, 2025
Cumulative downloads
Total Downloads
Last Day
2.9%
398,415
Compared to previous day
Last Week
2%
2,559,474
Compared to previous week
Last Month
1.9%
10,583,914
Compared to previous month
Last Year
42.5%
104,266,432
Compared to previous year
15
38
An efficient server implies a lower cost of the infrastructure, better responsiveness under load, and happy users. How can you efficiently handle the resources of your server, knowing that you are serving the highest number of requests possible, without sacrificing security validations and handy development?
Enter Fastify. Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture. It is inspired by Hapi and Express and as far as we know, it is one of the fastest web frameworks in town.
The main
branch refers to the Fastify v5
release.
Check out the 4.x
branch for v4
.
Create a folder and make it your current working directory:
1mkdir my-app 2cd my-app
Generate a fastify project with npm init
:
1npm init fastify
Install dependencies:
1npm i
To start the app in dev mode:
1npm run dev
For production mode:
1npm start
Under the hood npm init
downloads and runs Fastify
Create, which in turn uses the
generate functionality of Fastify CLI.
To install Fastify in an existing project as a dependency:
1npm i fastify
1// Require the framework and instantiate it 2 3// ESM 4import Fastify from 'fastify' 5 6const fastify = Fastify({ 7 logger: true 8}) 9// CommonJs 10const fastify = require('fastify')({ 11 logger: true 12}) 13 14// Declare a route 15fastify.get('/', (request, reply) => { 16 reply.send({ hello: 'world' }) 17}) 18 19// Run the server! 20fastify.listen({ port: 3000 }, (err, address) => { 21 if (err) throw err 22 // Server is now listening on ${address} 23})
With async-await:
1// ESM 2import Fastify from 'fastify' 3 4const fastify = Fastify({ 5 logger: true 6}) 7// CommonJs 8const fastify = require('fastify')({ 9 logger: true 10}) 11 12fastify.get('/', async (request, reply) => { 13 reply.type('application/json').code(200) 14 return { hello: 'world' } 15}) 16 17fastify.listen({ port: 3000 }, (err, address) => { 18 if (err) throw err 19 // Server is now listening on ${address} 20})
Do you want to know more? Head to the Getting Started
.
If you learn best by reading code, explore the official demo.
Note
.listen
binds to the local host,localhost
, interface by default (127.0.0.1
or::1
, depending on the operating system configuration). If you are running Fastify in a container (Docker, GCP, etc.), you may need to bind to0.0.0.0
. Be careful when listening on all interfaces; it comes with inherent security risks. See the documentation for more information.
Machine: EX41S-SSD, Intel Core i7, 4Ghz, 64GB RAM, 4C/8T, SSD.
Method:: autocannon -c 100 -d 40 -p 10 localhost:3000
* 2, taking the
second average
Framework | Version | Router? | Requests/sec |
---|---|---|---|
Express | 4.17.3 | ✓ | 14,200 |
hapi | 20.2.1 | ✓ | 42,284 |
Restify | 8.6.1 | ✓ | 50,363 |
Koa | 2.13.0 | ✗ | 54,272 |
Fastify | 4.0.0 | ✓ | 77,193 |
- | |||
http.Server | 16.14.2 | ✗ | 74,513 |
These benchmarks taken using https://github.com/fastify/benchmarks. This is a synthetic "hello world" benchmark that aims to evaluate the framework overhead. The overhead that each framework has on your application depends on your application. You should always benchmark if performance matters to you.
Getting Started
Guides
Server
Routes
Encapsulation
Logging
Middleware
Hooks
Decorators
Validation and Serialization
Fluent Schema
Lifecycle
Reply
Request
Errors
Content Type Parser
Plugins
Testing
Benchmarking
How to write a good plugin
Plugins Guide
HTTP2
Long Term Support
TypeScript and types support
Serverless
Recommendations
Please visit Fastify help to view prior support issues and to ask new support questions.
Version 3 of Fastify and lower are EOL and will not receive any security or bug fixes.
Fastify's partner, HeroDevs, provides commercial security fixes for all unsupported versions at https://herodevs.com/support/fastify-nes. Fastify's supported version matrix is available in the Long Term Support documentation.
Whether reporting bugs, discussing improvements and new ideas, or writing code, we welcome contributions from anyone and everyone. Please read the CONTRIBUTING guidelines before submitting pull requests.
Fastify is the result of the work of a great community. Team members are listed in alphabetical order.
Lead Maintainers:
Great contributors to a specific area of the Fastify ecosystem will be invited to join this group by Lead Maintainers when they decide to step down from the active contributor's group.
We are an At-Large Project in the OpenJS Foundation.
Support this project by becoming a SPONSOR! Fastify has an Open Collective page where we accept and manage financial contributions.
This project is kindly sponsored by:
Past Sponsors:
This list includes all companies that support one or more team members in maintaining this project.
Licensed under MIT.
For your convenience, here is a list of all the licenses of our production dependencies:
7.5/10
Summary
Fastify vulnerable to invalid content-type parsing, which could lead to validation bypass
Affected Versions
= 4.9.0
Patched Versions
4.9.1
7.5/10
Summary
Fastify vulnerable to invalid content-type parsing, which could lead to validation bypass
Affected Versions
>= 5.0.0, <= 5.3.1
Patched Versions
5.3.2
7.5/10
Summary
fastify vulnerable to denial of service via malicious Content-Type
Affected Versions
>= 4.0.0, < 4.8.1
Patched Versions
4.8.1
7.5/10
Summary
Denial of Service vulnerability with large JSON payloads in fastify
Affected Versions
<= 0.37.0
Patched Versions
0.38.0
4.2/10
Summary
Fastify: Incorrect Content-Type parsing can lead to CSRF attack
Affected Versions
>= 3.0.0, < 3.29.4
Patched Versions
3.29.4
4.2/10
Summary
Fastify: Incorrect Content-Type parsing can lead to CSRF attack
Affected Versions
>= 4.0.0, < 4.10.2
Patched Versions
4.10.2
0/10
Summary
Denial of service in fastify
Affected Versions
< 2.15.1
Patched Versions
2.15.1
Reason
30 commit(s) and 24 issue activity found in the last 90 days -- score normalized to 10
Reason
no binaries found in the repo
Reason
GitHub workflow tokens follow principle of least privilege
Details
Reason
0 existing vulnerabilities detected
Reason
project is fuzzed
Details
Reason
security policy file detected
Details
Reason
Found 26/28 approved changesets -- score normalized to 9
Reason
license file detected
Details
Reason
badge detected: Passing
Reason
SAST tool is not run on all commits -- score normalized to 1
Details
Reason
dangerous workflow patterns detected
Details
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
Score
Last Scanned on 2025-05-19
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More