pub package

Implementation of the Unicode Bidirectional Algorithm (UBA).


Converts logical strings to their equivalent visual representation. Persian, Hebrew and Arabic languages (and any other RTL language) are supported.

Web Demo

Web Demo

Getting Started

In your pubspec.yaml file add:

  bidi: any

Then, in your code import and use the package:

import 'package:bidi/bidi.dart' as bidi;

final visual = bidi.logicalToVisual('نوشته پارسی اینجا گذارده شود.');

Other Implementations

This package is also written in Rust (apart from this package, which is written in Dart). If you are looking for a pure Rust implementation of this package, look at


Implementation of the Bidi algorithm, as described in