Private beta — queue open
Upload a CSS or Sass theme and get back a fully mirrored RTL — or LTR — stylesheet. Transforms, background positions, and logical properties included. Not a find-and-replace script.
Before · LTR source
.sidebar {
float: left;
margin-right: 24px;
padding-left: 16px;
border-left: 2px solid #232838;
text-align: left;
}
After · RTL output
.sidebar {
float: right;
margin-left: 24px;
padding-right: 16px;
border-right: 2px solid #232838;
text-align: right;
}
The tedious part
A regex pass on left/right catches the obvious cases. It's everything else that ships broken.
Gradients and background images stay pinned to the wrong edge unless every value is recalculated by hand.
Directional shadows and glows need their offsets mirrored, or elements read as lit from the wrong side.
translateX and rotate values don't flip with direction on their own — CSS has no concept of a "logical" transform.
The LTR theme ships a change, and the hand-maintained RTL version quietly drifts out of sync again.
Three steps
No config files to write, no build step to wire in. Drop in styles, get styles back.
Upload .css, .scss, or .sass files, or paste a snippet straight in. We parse the real syntax tree, not just the text.
Margins, padding, insets, floats, transforms, and background positions get computed and flipped. Everything else stays untouched.
Get back formatted stylesheets that match your existing file structure, ready to merge into your build.
What gets converted
The engine understands what each property means, so it converts correctly instead of guessing from the property name.
Every left/right value swapped, units and calc() expressions preserved exactly.
Alignment and direction properties set correctly, including values picked up through inheritance.
Legacy float-based layouts flip cleanly, with no layout shift in the output.
Individual side values and corner radii mirrored — not just swapped as a single group.
Positional keywords and percentage offsets flipped along the inline axis.
translateX, rotate, and skew adjusted so elements mirror visually, not just structurally.
Logical properties generated automatically; row-reverse patterns handled correctly.
Variables, maps, mixins, and nesting stay intact. This isn't a find-and-replace script.
Built for
Ship Arabic and Hebrew storefronts without maintaining a second theme by hand.
Add RTL support to a product UI without standing up a parallel design system.
Generate the RTL half of a component library straight from the LTR source of truth.
Turn client sites RTL-ready as a line item, not a multi-day rebuild.
Get early access
We're bringing teams on in small batches so we can support every edge case properly. Join the queue and we'll email you when it's your turn.
Questions
Yes — we parse the actual syntax tree, so variables, maps, functions, and mixins stay exactly as you wrote them. Only direction-dependent values get touched.
Yes. The mirroring engine runs in both directions, so you can go LTR→RTL or RTL→LTR from the same source file.
No. Colors, typography, sizing, and any non-directional rule are left byte-for-byte identical to your source.
Anything already written as a logical property (margin-inline-start, and so on) is detected and left as-is. Only physical left/right rules are converted.
It's on the roadmap. Early queue members get first access when it ships.
We're onboarding in small batches so every edge case gets covered properly. Join the queue and we'll email you directly.