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..a7e6fa8b9c
--- /dev/null
+++ b/modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/LineEnding.java
@@ -0,0 +1,76 @@
+package jfx.incubator.scene.control.richtext;
+
+/**
+ * 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;
+
+    private static final LineEnding system = init();
+
+    /**
+     * Returns the line ending as a {@code String}.
+     * @return the line ending string
+     */
+    public String getText() {

+    /**
+     * Returns the system default {@code LineEnding} based on the value of system property
+     * {@code System.getProperty("line.separator")}.
+     * @return the system default line ending
+     */
+    public static LineEnding system() {

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 721ebc1efe..6708bff6c7 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
@@ -619,6 +619,35 @@ public class RichTextArea extends Control {
+    /**
+     * Convenience method which delegates to {@link StyledTextModel#getLineEnding()}.
+     * Returns {@link LineEnding#system()} value 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..4cb0e89f86 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 f3ac090828..402f48e9b1 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
@@ -1060,4 +1062,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) {
