How to add line breaks to an HTML textarea?

To add line breaks to an HTML textarea, there are several approaches. You can programmatically insert line breaks using JavaScript by replacing specific characters with newline characters (
), or use CSS properties like white-space: pre-wrap to preserve formatting. Line breaks in textareas are essential for creating multi-line content and improving text readability.

Method 1: Using JavaScript to Replace Characters with Line Breaks

This method involves replacing specific characters (like periods) with newline characters using JavaScript's replace() method.

How It Works

  • Create a textarea in HTML and assign an id to it.

  • Create a button which when clicked will split the textarea's text using newline characters.

  • Use JavaScript's replace() method with regular expressions to find and replace specific characters with
    (newline).

The core function for replacing periods with line breaks

function replacePeriodsWithLineBreaks() {
   // Get the textarea element
   var textarea = document.getElementById("textarea");
   
   // Get the text from the textarea
   var text = textarea.value;
   
   // Replace periods with line breaks
   text = text.replace(/\./g, "
"); // Update the textarea with the new text textarea.value = text; }

Example

Following example demonstrates replacing periods with line breaks in a textarea

<!DOCTYPE html>
<html>
<head>
   <title>Add Line Breaks to Textarea</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 10px;">
   <h2>Replace Periods with Line Breaks</h2>
   <textarea id="textarea" rows="8" cols="50" placeholder="Type sentences with periods. They will be replaced with line breaks.">Welcome to TutorialsPoint. Learn HTML, CSS, and JavaScript. Build amazing web applications.</textarea>
   <br><br>
   <button onclick="replacePeriodsWithLineBreaks()">Replace Periods with Line Breaks</button>
   
   <script>
      function replacePeriodsWithLineBreaks() {
         var textarea = document.getElementById("textarea");
         var text = textarea.value;
         text = text.replace(/\./g, "
"); textarea.value = text; } </script> </body> </html>

After clicking the button, each period gets replaced with a line break, separating the sentences onto new lines.

Method 2: Adding Line Breaks Directly

You can directly insert line breaks into textarea content by programmatically adding
characters at specific positions.

Example

<!DOCTYPE html>
<html>
<head>
   <title>Direct Line Break Addition</title>
</head>
<body style="font-family: Arial, sans-serif; padding: 10px;">
   <h2>Add Line Breaks at Cursor Position</h2>
   <textarea id="myTextarea" rows="8" cols="50" placeholder="Click in the textarea and use the button to add line breaks">HTML is a markup language.CSS styles web pages.JavaScript adds interactivity.</textarea>
   <br><br>
   <button onclick="addLineBreak()">Add Line Break at Cursor</button>
   <button onclick="addLineBreaksEvery20Chars()">Add Breaks Every 20 Characters</button>
   
   <script>
      function addLineBreak() {
         var textarea = document.getElementById("myTextarea");
         var cursorPos = textarea.selectionStart;
         var textBefore = textarea.value.substring(0, cursorPos);
         var textAfter = textarea.value.substring(cursorPos);
         textarea.value = textBefore + "
" + textAfter; textarea.selectionStart = textarea.selectionEnd = cursorPos + 1; textarea.focus(); } function addLineBreaksEvery20Chars() { var textarea = document.getElementById("myTextarea"); var text = textarea.value.replace(/
/g, ""); // Remove existing breaks var result = ""; for (var i = 0; i < text.length; i += 20) { result += text.substring(i, i + 20) + "
"; } textarea.value = result; } </script> </body> </html>

This example provides two functions: one to insert a line break at the cursor position, and another to automatically add line breaks every 20 characters.

Method 3: Using CSS white-space Property

The CSS white-space property can control how whitespace and line breaks are handled within the textarea.

Example

<!DOCTYPE html>
<html>
<head>
   <title>CSS White-space Property</title>
   <style>
      .pre-wrap {
         white-space: pre-wrap;
         font-family: monospace;
      }
      .normal {
         white-space: normal;
      }
   </style>
</head>
<body style="font-family: Arial, sans-serif; padding: 10px;">
   <h2>CSS white-space Property Demo</h2>
   
   <h3>Normal Textarea:</h3>
   <textarea class="normal" rows="4" cols="50">This text has    multiple spaces
and line breaks
that might not display as expected.</textarea>
   
   <h3>Pre-wrap Textarea:</h3>
   <textarea class="pre-wrap" rows="4" cols="50">This text has    multiple spaces
and line breaks
that will be preserved exactly.</textarea>
</body>
</html>

The white-space: pre-wrap preserves both spaces and line breaks, while white-space: normal collapses multiple spaces.

Key Points

  • The
    character represents a line break in JavaScript strings and textarea values.

  • The global flag (g) in regular expressions like /\./g replaces all occurrences, not just the first one.

  • Use selectionStart and selectionEnd properties to control cursor position after inserting line breaks.

  • CSS white-space: pre-wrap preserves formatting including line breaks and spaces.

  • Always test line break functionality across different browsers for consistency.

Line Break Methods Comparison JavaScript Replace ? Dynamic replacement ? User-triggered ? Flexible patterns ? Runtime control Direct Insertion ? Cursor-based ? Precise control ? Interactive ? Position-aware CSS White-space ? Styling-based ? Preserves format ? No JavaScript ? Static approach

Conclusion

Adding line breaks to HTML textareas can be accomplished through JavaScript character replacement, direct insertion at cursor positions, or CSS styling with the white-space property. Choose the method based on whether you need dynamic user interaction, automatic formatting, or simple display preservation.

Updated on: 2026-03-16T21:38:54+05:30

14K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements