
Company News
AWS Security Hub Adds Socket for Supply Chain Security
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.
ezkafka-visualizer
Advanced tools
A modern, user-friendly web application for visualizing and managing Apache Kafka clusters
A modern, user-friendly web application for visualizing and managing Apache Kafka clusters. Built with Next.js, TypeScript, and Tailwind CSS with full multi-server support.
Install globally:
npm install -g ezkafka-visualizer
Run with default settings (port 3700):
ezkafka-visualizer
Run with custom port:
ezkafka-visualizer --port 8080
# or
PORT=8080 ezkafka-visualizer
Run with custom Kafka broker:
ezkafka-visualizer --port 3700 --kafka-brokers kafka.example.com:9092
See all options:
ezkafka-visualizer --help
Access the application: Open your browser and navigate to http://localhost:3700
Run with default settings:
docker run -p 3700:3700 chandanbhagat/ezkafka-visualizer:latest
Run with custom port:
docker run -p 8080:8080 -e PORT=8080 chandanbhagat/ezkafka-visualizer:latest
Connect to external Kafka:
docker run -p 3700:3700 \
-e KAFKA_BROKERS=your-kafka-server:9092 \
chandanbhagat/ezkafka-visualizer:latest
Clone the repository:
git clone https://github.com/thechandanbhagat/ezkafka-visualizer.git
cd ezkafka-visualizer
Install dependencies:
npm install
Start development server:
# Default port (3700)
npm run dev
# Custom port using argument
npm run dev -- 8080
# Custom port using environment variable (Linux/Mac)
PORT=8080 npm run dev
# Custom port using environment variable (Windows PowerShell)
$env:PORT=8080; npm run dev
Open your browser: Navigate to http://localhost:3700 (or your custom port)
The application is available as a pre-built Docker image:
chandanbhagat/ezkafka-visualizer:latestchandanbhagat/ezkafka-visualizer:v1.0| Variable | Default | Description |
|---|---|---|
PORT | 3700 | Application port |
KAFKA_BROKERS | localhost:9092 | Kafka broker addresses |
KAFKA_CLIENT_ID | ezkafka-visualizer | Kafka client identifier |
KAFKA_CONNECTION_TIMEOUT | 3000 | Connection timeout (ms) |
KAFKA_REQUEST_TIMEOUT | 30000 | Request timeout (ms) |
Use the included docker-compose.yml for a complete setup with Kafka:
# Copy environment template
cp .env.example .env
# Start services
docker-compose up
For detailed Docker instructions, see DOCKER.md.
src/
├── app/ # Next.js App Router
│ ├── api/ # API routes for Kafka operations
│ │ ├── topics/ # Topic management endpoints
│ │ ├── messages/ # Message sending endpoints
│ │ ├── consumer-groups/ # Consumer groups endpoints
│ │ └── settings/ # Settings endpoints
│ ├── producer/ # Producer page
│ ├── consumer/ # Consumer page
│ ├── topics/ # Topics page
│ ├── groups/ # Consumer groups page
│ ├── settings/ # Settings page
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout with ServerProvider
│ └── page.tsx # Main dashboard
├── components/ # React components
│ ├── KafkaVisualizer.tsx # Main dashboard with navbar
│ ├── TopicList.tsx # Topic management component
│ ├── MessageProducer.tsx # Message sending component
│ ├── MessageConsumer.tsx # Message consuming component
│ ├── ConsumerGroups.tsx # Consumer groups view
│ ├── KafkaSettings.tsx # Multi-server settings
│ └── NavbarServerSelector.tsx # Server selection dropdown
├── contexts/ # React contexts
│ └── ServerContext.tsx # Global server state management
├── lib/ # Utilities
│ ├── kafka.ts # Multi-server Kafka service
│ └── kafka-settings.ts # Server configuration management
└── types/
└── globals.d.ts # TypeScript declarations
ezkafka-visualizer - Start the visualizer with default settingsezkafka-visualizer -p 8080 - Start on custom portezkafka-visualizer --help - Show all CLI options# Update to latest version
npm update -g ezkafka-visualizer
# Check current version
npm list -g ezkafka-visualizer
# Uninstall
npm uninstall -g ezkafka-visualizer
npm run dev - Start development server on port 3700npm run build - Build the application for productionnpm run start - Start production servernpm run lint - Run ESLintdocker-compose up - Start with Docker ComposeGET /api/topics?profileId=<id> - List all topicsPOST /api/topics - Create a new topicDELETE /api/topics/[name]?profileId=<id> - Delete a topicGET /api/topics/[name]/config?profileId=<id> - Get topic configurationGET /api/topics/[name]/partitions?profileId=<id> - Get topic partitionsPOST /api/messages - Send a message to a topicPOST /api/messages/consume - Consume messages from a topicGET /api/consumer-groups?profileId=<id> - List consumer groupsGET /api/settings - Get server configurationPOST /api/settings - Update server configurationThe application supports connecting to multiple Kafka clusters:
# Send a simple message
curl -X POST http://localhost:3700/api/messages \
-H "Content-Type: application/json" \
-d '{
"topic": "my-topic",
"message": "Hello Kafka!"
}'
# Production deployment
docker run -d \
--name kafka-visualizer \
-p 3700:3700 \
-e KAFKA_BROKERS=kafka1:9092,kafka2:9092 \
chandanbhagat/ezkafka-visualizer:latest
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by Chandan Bhagat
FAQs
A modern, user-friendly web application for visualizing and managing Apache Kafka clusters
The npm package ezkafka-visualizer receives a total of 0 weekly downloads. As such, ezkafka-visualizer popularity was classified as not popular.
We found that ezkafka-visualizer demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.