stringr (version 1.5.0)

str_wrap: Wrap words into nicely formatted paragraphs


Wrap words into paragraphs, minimizing the "raggedness" of the lines (i.e. the variation in length line) using the Knuth-Plass algorithm.


str_wrap(string, width = 80, indent = 0, exdent = 0, whitespace_only = TRUE)


A character vector the same length as string.



Input vector. Either a character vector, or something coercible to one.


Positive integer giving target line width (in number of characters). A width less than or equal to 1 will put each word on its own line.

indent, exdent

A non-negative integer giving the indent for the first line (indent) and all subsequent lines (exdent).


A boolean.

  • If TRUE (the default) wrapping will only occur at whitespace.

  • If FALSE, can break on any non-word character (e.g. /, -).

See Also

stringi::stri_wrap() for the underlying implementation.


Run this code
thanks_path <- file.path(R.home("doc"), "THANKS")
thanks <- str_c(readLines(thanks_path), collapse = "\n")
thanks <- word(thanks, 1, 3, fixed("\n\n"))
cat(str_wrap(thanks), "\n")
cat(str_wrap(thanks, width = 40), "\n")
cat(str_wrap(thanks, width = 60, indent = 2), "\n")
cat(str_wrap(thanks, width = 60, exdent = 2), "\n")
cat(str_wrap(thanks, width = 0, exdent = 2), "\n")

Run the code above in your browser using DataCamp Workspace