Gulp plugin that uses RTLCSS to convert LTR CSS to RTL.

Usage no npm install needed!

<script type="module">
  import gulpRtlcss from '';



MIT Licence NPM Version Build Status Dependency Status Language grade: JavaScript

Gulp plugin that uses RTLCSS to convert LTR CSS to RTL.


$ npm install --save-dev gulp-rtlcss

Basic Usage

var gulp = require('gulp');
var rtlcss = require('gulp-rtlcss');

gulp.task('default', function () {
    return gulp.src('styles.css')


The plugin optionally accepts RTLCSS configuration either as an argument or with a file named .rtlcssrc or .rtlcssrc.json.

See the RTLCSS documentation for more information about accepted configuration.


The below example will result in 2 copies of each stylesheet, one LTR stylesheet and one RTL stylesheet (with "-rtl" appended to the filename before the extension). The example uses autoprefixer, this is just an example of other CSS post-processing being used before rtlcss.

var gulp = require('gulp');
var autoprefixer = require('gulp-autoprefixer');
var rtlcss = require('gulp-rtlcss');
var rename = require('gulp-rename');
var sourcemaps = require('gulp-sourcemaps');

gulp.task('styles', function () {
    return gulp.src(['/styles/*.css'])
        .pipe(autoprefixer(["last 2 versions", "> 1%"])) // Other post-processing.
        .pipe(gulp.dest('dist')) // Output LTR stylesheets.
        .pipe(rtlcss()) // Convert to RTL.
        .pipe(rename({ suffix: '-rtl' })) // Append "-rtl" to the filename.
        .pipe(sourcemaps.write('dist')) // Output source maps.
        .pipe(gulp.dest('dist')); // Output RTL stylesheets.

Change Log