diff --git a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/LineEnding.java b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/LineEnding.java
new file mode 100644
index 0000000000..22020d1e08
--- /dev/null
+++ b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/LineEnding.java
@@ -0,0 +1,55 @@
+/**
+ * Specifies line separator (line ending) characters.
+ *
+ * @since 26
+ */
+public enum LineEnding {
+    /** Legacy Mac OS line ending, ASCII CR (0x0d). */
+    CR,
+    /** Windows line ending, sequence of CR/LF (0x0d 0x0a). */
+    CRLF,
+    /** macOS/Unix line ending, ASCII LF (0x0a). */
+    LF,
+    /** Platform line ending, using the value returned by {@code System.getProperty("line.separator")} call. */
+    SYSTEM;
+
+    /**
+     * Returns the line ending as a {@code String}.
+     * @return the line ending string
+     */
+    public String getText() {

diff --git a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/RichTextArea.java b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/RichTextArea.java
index 7da3c96d3d..f2512f7a29 100644
--- a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/RichTextArea.java
+++ b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/RichTextArea.java
@@ -617,6 +617,35 @@ public class RichTextArea extends Control {
+    /**
+     * Convenience method which delegates to {@link StyledTextModel#getLineEnding()}.
+     * Returns {@link LineEnding#SYSTEM} if the model is {@code null}.
+     *
+     * @return the model's line ending value
+     * @since 26
+     */
+    public final LineEnding getLineEnding() {

+    /**
+     * Sets the model's line ending characters.
+     * Delegates to {@link StyledTextModel#setLineEnding(LineEnding)}.
+     * This method does nothing if the model is {@code null}.
+     *
+     * @param value the line ending value, cannot be null
+     * @throws NullPointerException if the value is null
+     * @since 26
+     */
+    public final void setLineEnding(LineEnding value) {

diff --git a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledOutput.java b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledOutput.java
index 090697b732..123921d90a 100644
--- a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledOutput.java
+++ b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledOutput.java
@@ -51,10 +52,20 @@ public interface StyledOutput extends Closeable {
     /**
-     * Creates an instance of a plain text StyledOutput.
+     * Creates an instance of a plain text StyledOutput with the platform line ending.
      * @return the instance of a plain text StyledOutput
      */
     public static StyledOutput forPlainText() {

+    /**
+     * Creates an instance of a plain text StyledOutput with the specified line ending characters.
+     * @param lineEnding the line ending characters
+     * @return the instance of a plain text StyledOutput
+     * @since 26
+     */
+    public static StyledOutput forPlainText(LineEnding lineEnding) {

diff --git a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledTextModel.java b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledTextModel.java
index f62ae75f30..fee8416ac9 100644
--- a/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledTextModel.java
+++ b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/model/StyledTextModel.java
@@ -1007,4 +1009,26 @@ public abstract class StyledTextModel {
+    /**
+     * Specifies the line ending characters.
+     *
+     * @return the line ending value
+     * @defaultValue {@link LineEnding#SYSTEM}
+     * @since 26
+     */
+    public final LineEnding getLineEnding() {

+    /**
+     * Sets the line ending characters.
+     * @param value the line ending value, cannot be null
+     * @throws NullPointerException if the value is null
+     * @since 26
+     */
+    public final void setLineEnding(LineEnding value) {
