v6.2.0 — DNS-over-QUIC Support

Resolve DNS
like it's 2026

High-performance caching DNS resolver scalable from huge resolver farms down to home network routers. Open source and battle-tested.

Trusted by industry leaders

CETIN Cloudflare Whalebone
1.1B
queries / day
All systems operational
Avg latency
0.8ms
Cache hit rate
94.2%
Why Knot?

Why not! ;-)

A modern resolver designed for scalability, resiliency, and flexibility.

Open Source

Completely free to download and use under the GPL license. Community-driven development with transparent governance.

Feature-Packed

Modular architecture with C and Lua module support. The OpenResty of DNS — extend with custom logic easily.

High Performance

Shared-nothing architecture — no threading, no locks. Apply configuration changes without any downtime.

Secure & Stable

Extensive automated testing suite ensures stability, interoperability, and security across every release.

Trusted in
Production

"Knot Resolver is the cornerstone of our public resolver service running on 1.1.1.1."

OG

Olafur Gudmundsson

Engineering Director, Cloudflare

"Knot Resolver has been a part of our infrastructure since 2017."

Milan Sykora

Network Services Specialist, CETIN

"The best platform for building our DNS filtering solution."

Robert Sefr

CTO, Whalebone

Get Started in Seconds

Pick your platform and start resolving.

bash

# Add CZ.NIC repository

curl -fsSL https://pkg.labs.nic.cz/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/cznic.gpg

# Install Knot Resolver

sudo apt install knot-resolver

# Start the service

sudo systemctl enable --now kresd@1

✓ kresd is running on 127.0.0.1:53

# Run with Docker

docker run --rm -ti --network host \

docker.io/cznic/knot-resolver

✓ kresd is running

# Enable COPR repository

sudo dnf copr enable @cznic/knot-resolver

# Install

sudo dnf install knot-resolver

✓ kresd is running

Part of the CZ.NIC Open Source Ecosystem

Start Resolving
Today

Join CETIN, Cloudflare, and Whalebone. Deploy the resolver trusted by billions of DNS queries.

$ systemctl status kresd@1

● kresd@1.service - Knot Resolver

Active: active (running)