Skip to main content

NATS Server Documentation

Build fast, scalable, and resilient distributed systems with the high-performance messaging server trusted by cloud and edge applications worldwide.

Quick Start

Get NATS Server up and running in minutes

1

Download and install

Install NATS Server using Docker, or download the binary for your platform.
Docker
docker pull nats:latest
docker run -p 4222:4222 -p 8222:8222 nats:latest
See the installation guide for other installation methods.
2

Start the server

Launch NATS Server with default settings or provide a configuration file.
nats-server
The server listens on port 4222 for client connections and 8222 for monitoring by default.
3

Verify it's running

Check server status using the monitoring endpoint.
curl http://localhost:8222/varz
You’ll see a JSON response with server information including version, connections, and resource usage.
4

Connect a client

Use any of the 40+ NATS client libraries to connect and start messaging.
Go
nc, _ := nats.Connect(nats.DefaultURL)
nc.Publish("hello", []byte("world"))
Ready to explore more? Check out the quickstart guide for a complete tutorial.

Explore by topic

Deep dive into NATS Server capabilities

Deployment

Deploy NATS Server with Docker, Kubernetes, or as a standalone binary

Architecture

Understand clustering, gateways, accounts, and multi-tenancy

JetStream

Enable persistence, streaming, and exactly-once delivery semantics

MQTT Support

Connect MQTT 3.1.1 and 5.0 devices to your NATS infrastructure

Security

Secure your deployment with TLS, NKeys, JWT, and authorization

Monitoring

Monitor server health, performance, and observe message flows

Key features

What makes NATS Server powerful

High Performance

Built in Go for exceptional throughput and low latency, handling millions of messages per second

JetStream Persistence

Stream storage, replay, and exactly-once delivery with built-in clustering and replication

Decentralized Security

Zero-trust architecture with NKeys, JWT-based authentication, and multi-tenancy via accounts

Global Distribution

Build super-clusters spanning multiple regions with gateway connections for global reach

Community and support

Get help and connect with the NATS community

Slack Community

Join the active NATS community on Slack for questions and discussions

GitHub

Report issues, contribute code, and track development progress

Google Groups

Ask questions and engage with community members on Google Groups

Ready to get started?

Deploy NATS Server in minutes and start building fast, resilient distributed systems

Start Building Now

Build docs developers (and LLMs) love