diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java
index eee79f00a..efda3fd65 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinder.java
@@ -89,7 +89,12 @@ import org.springframework.util.StringUtils;
* @author Soby Chacko
* @since 4.0
*
+ * @deprecated since 4.3
+ * See the updates in: ...
+ * A suggested alternative is to use the regular Kafka binder with reactive types.
+ * This approach has some limitations as the application need to handle reactive use cases explicitly.
*/
+@Deprecated(since = "4.3", forRemoval = true)
public class ReactorKafkaBinder
extends AbstractMessageChannelBinder,
ExtendedProducerProperties, KafkaTopicProvisioner>
diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderConfiguration.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderConfiguration.java
index 7aeef5220..38dd1c085 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderConfiguration.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderConfiguration.java
@@ -41,7 +41,13 @@ import org.springframework.context.annotation.Import;
* @author Gary Russell
* @author Chris Bono
* @author Soby Chacko
+ *
+ * @deprecated since 4.3
+ * See the updates in: ...
+ * A suggested alternative is to use the regular Kafka binder with reactive types.
+ * This approach has some limitations as the application need to handle reactive use cases explicitly.
*/
+@Deprecated(since = "4.3", forRemoval = true)
@Configuration(proxyBeanMethods = false)
@ConditionalOnMissingBean(Binder.class)
@EnableConfigurationProperties({ KafkaProperties.class, KafkaExtendedBindingProperties.class })
diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicator.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicator.java
index 3f4887df8..dca4a7480 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicator.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicator.java
@@ -35,7 +35,13 @@ import org.springframework.scheduling.concurrent.CustomizableThreadFactory;
* {@link org.springframework.boot.actuate.health.HealthIndicator} for Reactor Kafka Binder.
*
* @author Soby Chacko
+ *
+ * @deprecated since 4.3
+ * See the updates in: ...
+ * A suggested alternative is to use the regular Kafka binder with reactive types.
+ * This approach has some limitations as the application need to handle reactive use cases explicitly.
*/
+@Deprecated(since = "4.3", forRemoval = true)
public class ReactorKafkaBinderHealthIndicator extends AbstractKafkaBinderHealthIndicator {
private final ReactorKafkaBinder binder;
diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicatorConfiguration.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicatorConfiguration.java
index 0301a7e21..d7177dc80 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicatorConfiguration.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReactorKafkaBinderHealthIndicatorConfiguration.java
@@ -34,7 +34,13 @@ import org.springframework.util.ObjectUtils;
/**
* @author Soby Chacko
* @since 4.1.2
+ *
+ * @deprecated since 4.3
+ * See the updates in: ...
+ * A suggested alternative is to use the regular Kafka binder with reactive types.
+ * This approach has some limitations as the application need to handle reactive use cases explicitly.
*/
+@Deprecated(since = "4.3", forRemoval = true)
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(name = "org.springframework.boot.actuate.health.HealthIndicator")
@ConditionalOnEnabledHealthIndicator("binders")
diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReceiverOptionsCustomizer.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReceiverOptionsCustomizer.java
index 2f2fbc230..1e29f07aa 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReceiverOptionsCustomizer.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/ReceiverOptionsCustomizer.java
@@ -36,7 +36,12 @@ import org.springframework.core.Ordered;
* @author Gary Russell
* @since 4.0.2
*
+ * @deprecated since 4.3
+ * See the updates in: ...
+ * A suggested alternative is to use the regular Kafka binder with reactive types.
+ * This approach has some limitations as the application need to handle reactive use cases explicitly.
*/
+@Deprecated(since = "4.3", forRemoval = true)
public interface ReceiverOptionsCustomizer
extends BiFunction, ReceiverOptions>, Ordered {
diff --git a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/SenderOptionsCustomizer.java b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/SenderOptionsCustomizer.java
index 37070e865..f2a6556a8 100644
--- a/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/SenderOptionsCustomizer.java
+++ b/binders/kafka-binder/spring-cloud-stream-binder-kafka-reactive/src/main/java/org/springframework/cloud/stream/binder/reactorkafka/SenderOptionsCustomizer.java
@@ -36,7 +36,12 @@ import org.springframework.core.Ordered;
* @author Gary Russell
* @since 4.0.2
*
+ * @deprecated since 4.3
+ * See the updates in: ...
+ * A suggested alternative is to use the regular Kafka binder with reactive types.
+ * This approach has some limitations as the application need to handle reactive use cases explicitly.
*/
+@Deprecated(since = "4.3", forRemoval = true)
public interface SenderOptionsCustomizer
extends BiFunction, SenderOptions>, Ordered {
diff --git a/docs/modules/ROOT/pages/kafka/kafka-reactive-binder/overview.adoc b/docs/modules/ROOT/pages/kafka/kafka-reactive-binder/overview.adoc
index 48c6a5d8b..968528de2 100644
--- a/docs/modules/ROOT/pages/kafka/kafka-reactive-binder/overview.adoc
+++ b/docs/modules/ROOT/pages/kafka/kafka-reactive-binder/overview.adoc
@@ -1,6 +1,8 @@
[[reactive-kafka-binder]]
= Overview
+NOTE: As of Spring Cloud Stream version 4.3.0, the reactive Kafka binder is deprecated and will be completely removed in a future release. See the related updates in https://spring.io/blog/2025/05/20/reactor-kafka-discontinued[Reactor Kafka Discontinued Blog Post]. Please continue to use the regular message channel based Kafka binder with reactive types. Keep in mind that the applications will need to handle the various reactive use cases explicitly using the reactor programming model and support from the Project Reactor directly.
+
Kafka binder ecosystem in Spring Cloud Stream provides a dedicated reactive binder based on the https://projectreactor.io/docs/kafka/release/reference/[Reactor Kafka] project.
-This reactive Kafka binder enables full end-to-end reactive capabilities such as backpressure, reactive streams etc. in applications based on Apache Kafka.
+This reactive Kafka binder enables full end-to-end reactive capabilities such as backpressure, reactive streams, etc. in applications based on Apache Kafka.
When your Spring Cloud Stream Kafka application is written using reactive types (`Flux`, `Mono` etc.), it is recommended to use this reactive Kafka binder instead of the regular message channel based Kafka binder.