R package


stringi (pronounced “stringy”, IPA [strinɡi]) is THE R package for fast, correct, consistent, portable, as well as convenient string/text processing in every locale and any native character encoding. The use of the ICU library gives R users a platform-independent set of functions known to Java, Perl, Python, PHP, and Ruby programmers.

Among available features there are: pattern searching (e.g., with ICU Java-like regular expressions or the Unicode Collation Algorithm), random string generation, case mapping, string transliteration, concatenation, Unicode normalization, date-time formatting and parsing, etc.

stringi is among the Top 10 most often downloaded packages on CRAN. RStudio CRAN mirror downloads RStudio CRAN mirror downloads RStudio CRAN mirror downloads


Type:R package Travis CI
Authors:Marek Gagolewski, with contributions from Bartłomiej Tartanus (stringi source code);
IBM and other contributors (ICU4C 55.1 source code);
Unicode, Inc. (Unicode Character Database)
Maintainer:Marek Gągolewski
CRAN entry:
License:The BSD 3-Clause License (see the LICENSE file for details)
Installation in R:install.packages("stringi")
Changelog:See the NEWS file
System requirements:R (≥ 2.13.1), ICU4C (>= 50, optional), see the INSTALL file for more details
Documentation:Browse the online manual
How to access the stringi C API from an Rcpp-based R package


The contributions of Marcin Bujarski at the early stage of the package development is fully acknowledged.

The help of Giovanni Mazzocco in building the first OS X version of stringi is much appreciated.

The package’s API was inspired by Hadley Wickham’s stringr package and now stands for its basis. Moreover, Hadley suggested many new and cool package features. Thanks!

The authors also wish to thank their colleagues (Systems Research Institute, Polish Academy of Sciences) and students (Faculty of Mathematics and Information Science, Warsaw University of Technology) for valuable comments on and extensive testing of the package facilities.

License – Disclaimer

The package follows the BSD-3-clause license, for more details see the LICENSE file.

More precisely, the sole stringi's source code itself is released under the BSD-3-clause license, which is 100% open source compatible. Such a license has been verified as GPL-compatible by the Free Software Foundation.

The reason for using BSD-3-clause is that we include full source code of the ICU library, which has its own license. The ICU projects are covered by the ICU license, a simple, permissive non-copyleft free software license, compatible with the GNU GPL. The ICU license is intended to allow ICU to be included both in free software projects and in proprietary or commercial products.