Tools for Apache Kafkaยฎ

March 1, 2026 ยท View on GitHub

CI Latest version Marketplace Installs

Interact with Apache Kafkaยฎ directly in VS Code. Manage clusters, produce and consume messages, and explore topics.


โœจ Key Features

๐Ÿ” Visual Cluster Explorer

Browse your Kafka infrastructure in the sidebar:

  • ๐Ÿ“Š Clusters - Connect to multiple Kafka clusters simultaneously
  • ๐Ÿ“‚ Topics - View, create, and delete topics with real-time updates
  • ๐Ÿ–ฅ๏ธ Brokers - Monitor broker health and configuration
  • ๐Ÿ‘ฅ Consumer Groups - Track consumer lag and group membership
  • โš™๏ธ Configurations - Inspect and manage cluster settings
  • ๐Ÿงฌ Schema Registries - Browse subjects and schema versions linked to your clusters

Kafka Explorer

๐Ÿ“ค Message Producer

Create producers using simple .kafka files with rich features:

  • ๐ŸŽฒ Randomized Data - Generate test data with Faker.js templates
  • ๐Ÿ”‘ Headers & Keys - Full support for message keys and custom headers
  • โฑ๏ธ Scheduled Production - Produce messages at regular intervals (every: 5s, every: 1m)
  • ๐Ÿ” Batch Production - Send multiple messages at once for load testing
  • ๐ŸŽฏ Multiple Producers - Define multiple producers in a single file
  • โœ… JSON Schema Validation - Validate value-format: json payloads with inline schema or file(...) reference
  • ๐Ÿงฌ Avro & Protobuf - Produce/consume Avro (value-schema inline or file) and Protobuf (value-schema file only)

Example:

PRODUCER user-events
topic: user-activity
every: 3s
key: user-{{string.uuid}}
headers: source=web-app, version=1.0
{
  "userId": "{{string.uuid}}",
  "event": "{{helpers.arrayElement(['login', 'logout', 'purchase'])}}",
  "timestamp": {{$timestamp}},
  "user": {
    "name": "{{person.fullName}}",
    "email": "{{internet.email}}"
  }
}

Value format examples (JSON / Avro / Protobuf):

PRODUCER
topic: json-events
value-format: json
value-schema: {"type":"object","required":["id"],"properties":{"id":{"type":"number"}}}
{"id":1}
###
PRODUCER
topic: avro-events
value-format: avro
value-schema: {"type":"record","name":"UserEvent","fields":[{"name":"id","type":"int"}]}
{"id":1}
###
PRODUCER
topic: protobuf-events
value-format: protobuf(demo.UserCreated)
value-schema: file(./schemas/user-events.proto)
{"id":1,"email":"jane@example.com","active":true}

./schemas/user-events.proto used by protobuf(demo.UserCreated):

syntax = "proto3";

package demo;

message UserCreated {
  int32 id = 1;
  string email = 2;
  bool active = 3;
}

Producing Messages

๐Ÿ“ฅ Flexible Consumer

Consume messages with the Message Viewer:

  • ๐Ÿ“Š Message Viewer - Table view with search, filters, histogram, and CSV export
  • ๐ŸŽฏ Targeted Consumption - Consume from specific partitions or offsets
  • ๐Ÿ’พ Export Data - Export consumed messages to CSV for analysis

Start consuming from:

  • Right-click a topic in the explorer
  • Use Command Palette (Ctrl+Shift+P)
  • Define consumers in .kafka files
CONSUMER analytics-team
topic: user-events
from: earliest
partitions: 0,1,2

Consume Avro values with schema:

CONSUMER analytics-team
topic: user-events
from: earliest
value-format: avro
value-schema: file(./schemas/user-event.avsc)

Consume Protobuf values with schema file:

CONSUMER analytics-team
topic: protobuf-events
from: earliest
value-format: protobuf(demo.UserCreated)
value-schema: file(./schemas/user-events.proto)

Consumer Message Viewer

๐Ÿ” Security

  • ๐Ÿ”’ SASL Authentication - PLAIN, SCRAM-256, SCRAM-512 (Kafka 0.10+)
  • ๐ŸŒ OAUTHBEARER - OAuth 2.0 authentication with automatic token refresh
  • โ˜๏ธ AWS MSK IAM - Native AWS IAM authentication for Amazon MSK clusters
  • ๐Ÿ›ก๏ธ SSL/TLS Support - Secure connections with certificate validation
  • ๐Ÿ”‘ Secure Storage - Credentials stored in OS keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
  • ๐Ÿงช Development Mode - Optional hostname verification bypass for self-signed certificates

๐Ÿงฌ Schema Registry

Manage Confluent-compatible Schema Registries directly from VS Code:

  • ๐Ÿ”— Reusable Connections - Define named Schema Registry connections independent of clusters
  • ๐Ÿ”— Cluster Linking - Link a registry to one or more Kafka clusters
  • ๐Ÿ“‚ Explorer Browsing - Browse subjects and schema versions in the sidebar
  • ๐Ÿ“„ Open & Compare - Open schema versions in the editor and diff any two versions side-by-side
  • ๐Ÿ” Topic Subject Discovery - Automatically discover subjects related to a topic based on TopicNameStrategy, RecordNameStrategy, or TopicRecordNameStrategy
  • ๐Ÿ”’ Auth & TLS - Optional basic auth and custom TLS configuration per registry

๐Ÿ› ๏ธ Advanced Administration

  • โœ… Create Topics - Configure partitions, replication factor, and topic settings
  • ๐Ÿ—‘๏ธ Delete Topics - Remove unwanted topics with confirmation dialogs
  • ๐Ÿงน Delete Records - Empty topics by deleting all messages from all partitions
  • ๐Ÿ“‹ Metadata Inspection - Dump detailed metadata for clusters, brokers, and topics
  • ๐Ÿ‘ฅ Consumer Group Management - Delete consumer groups and monitor offsets

๐Ÿš€ Getting Started

1. Install the Extension

Search for "Kafka" in the VS Code Extensions marketplace or install from here.

2. Add Your First Cluster

Click the + icon in the Kafka Explorer or use Ctrl+Shift+P โ†’ "Kafka: Add Cluster"

3. Start Exploring!

  • Browse topics and consumer groups
  • Right-click to produce or consume messages
  • Create .kafka files for reusable workflows

๐Ÿ“š Need Help? Open documentation inside VS Code with Ctrl+Shift+P โ†’ "Kafka: Open Documentation"

Open Documentation


๐Ÿ“– Documentation

TopicDescription
Kafka ExplorerNavigating clusters, topics, brokers, and consumer groups
Producing MessagesCreating producers with Faker templates and scheduled production
Consuming MessagesMessage Viewer and consumption options
.kafka File FormatSyntax reference for producer and consumer definitions
SettingsExtension configuration options

๐Ÿ”Œ Extensibility

Extend the Kafka explorer by creating custom cluster providers. Your extension can:

  • Discover clusters from external sources (cloud providers, configuration management)
  • Auto-configure connection settings
  • Provide custom authentication mechanisms

Create a Cluster Provider Extension:

  1. Add "kafka-provider" to your extension's package.json keywords
  2. Implement the cluster provider API
  3. Users discover your extension via "Discover Cluster Providers"

Discover Cluster Providers


๐Ÿค Contributing

We โค๏ธ contributions! Whether you're:

  • ๐Ÿ› Reporting bugs
  • ๐Ÿ’ก Suggesting features
  • ๐Ÿ“ Improving documentation
  • ๐Ÿ’ป Submitting pull requests

All contributions are welcome! See CONTRIBUTING.md for guidelines.

Development Setup

  1. Clone the repository
  2. Run npm install
  3. Open in VS Code and press F5 to launch Extension Development Host
  4. Make your changes and run tests with npm test

๐Ÿ“ฆ CI Builds

Try the latest development version:

  1. Go to the CI Workflow page
  2. Click on the most recent successful run
  3. Download the vscode-kafka artifact
  4. Unzip and install the .vsix file: code --install-extension vscode-kafka-*.vsix

๐Ÿ“„ License

MIT License. See LICENSE file.


Apache, Apache Kafkaยฎ, Kafkaยฎ and associated logos are trademarks of the Apache Software Foundation (ASF). Tools for Apache Kafkaยฎ is not affiliated with, endorsed by, or otherwise associated with the Apache Software Foundation or any of its projects.