All 80 presets and 16 open/close pairings, with their
exact IDs, configured timing, shader preview and importable settings. For visual
comparisons, see the full effect catalog; to browse by character,
use preset collections.
Opening and closing work on stock Niri. Built-in presets and pairings preserve
existing resize settings. Native movement requires the
experimental compositor. Family support in the
table describes available actions, not effects enabled by choosing a preset.
| Family |
Presets |
Optional resize |
Experimental movement |
| Fragments |
30 |
Supported |
Supported |
| Slices |
14 |
Supported |
Supported |
| Elastic |
9 |
Supported |
Supported |
| Dissolve |
5 |
Unavailable |
Unavailable |
| Iris |
3 |
Unavailable |
Unavailable |
| Pixels |
5 |
Unavailable |
Supported |
| Wisps |
2 |
Unavailable |
Unavailable |
| Distortion |
10 |
Supported |
Supported |
| Hexagons |
2 |
Unavailable |
Unavailable |
Try a name locally; no JSON editing is needed:
niri-fx studio --preset balanced
niri-fx studio --profile geometric-flow
niri-fx list --collection shapes --text
From a source checkout, replace niri-fx with python3 -m niri_fx.
Previewing does not activate a style. Follow setup and restore
to review activation, or import a downloaded JSON file in Studio.
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
subtle |
Subtle |
360 / 300 |
GIF |
JSON |
balanced |
Balanced |
520 / 480 |
GIF |
JSON |
fragment-wake |
Fragment Wake |
700 / 650 |
GIF |
JSON |
triangle-shatter |
Triangle Shatter |
820 / 780 |
GIF |
JSON |
circle-burst |
Circle Burst |
800 / 750 |
GIF |
JSON |
rectangle-confetti |
Rectangle Confetti |
850 / 800 |
GIF |
JSON |
hex-swarm |
Hex Swarm |
880 / 830 |
GIF |
JSON |
dramatic |
Dramatic |
680 / 600 |
GIF |
JSON |
explosion |
Explosion |
700 / 680 |
GIF |
JSON |
implosion |
Implosion |
720 / 680 |
GIF |
JSON |
earth |
Earth |
600 / 650 |
GIF |
JSON |
black-hole |
Black Hole |
680 / 650 |
GIF |
JSON |
space |
Space |
650 / 650 |
GIF |
JSON |
vortex |
Vortex |
720 / 720 |
GIF |
JSON |
confetti |
Confetti |
650 / 720 |
GIF |
JSON |
updraft |
Updraft |
600 / 640 |
GIF |
JSON |
directional-wave |
Directional Wave |
1000 / 1000 |
GIF |
JSON |
corner-burst |
Corner Burst |
780 / 740 |
GIF |
JSON |
orbital-collapse |
Orbital Collapse |
1000 / 1000 |
GIF |
JSON |
tidal-fragments |
Tidal Fragments |
1050 / 1000 |
GIF |
JSON |
mosaic-burst |
Mosaic Burst |
820 / 780 |
GIF |
JSON |
chaotic-confetti |
Chaotic Confetti |
1000 / 1050 |
GIF |
JSON |
crosswind |
Crosswind |
900 / 850 |
GIF |
JSON |
orbital-ribbons |
Orbital Ribbons |
1050 / 1000 |
GIF |
JSON |
pixel-dust |
Pixel Dust |
850 / 800 |
GIF |
JSON |
bubble-burst |
Bubble Burst |
950 / 900 |
GIF |
JSON |
core-detonation |
Core Detonation |
1000 / 950 |
GIF |
JSON |
checker-scatter |
Checker Scatter |
1050 / 1000 |
GIF |
JSON |
mixed-confetti |
Mixed Confetti |
950 / 1000 |
GIF |
JSON |
orbiting-shapes |
Orbiting Shapes |
1000 / 950 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
ribbon-transfer |
Ribbon Transfer |
700 / 650 |
GIF |
JSON |
ribbon-cascade |
Ribbon Cascade |
680 / 620 |
GIF |
JSON |
slide-apart |
Slide Apart |
680 / 640 |
GIF |
JSON |
alternating-blinds |
Alternating Blinds |
820 / 760 |
GIF |
JSON |
diagonal-shear |
Diagonal Shear |
760 / 720 |
GIF |
JSON |
split-curtain |
Split Curtain |
680 / 640 |
GIF |
JSON |
ribbon-wave |
Ribbon Wave |
1100 / 1050 |
GIF |
JSON |
shuffled-slats |
Shuffled Slats |
1000 / 950 |
GIF |
JSON |
venetian-sweep |
Venetian Sweep |
1050 / 1000 |
GIF |
JSON |
hinged-fan |
Hinged Fan |
950 / 900 |
GIF |
JSON |
venetian-shutter |
Venetian Shutter |
950 / 900 |
GIF |
JSON |
ribbon-fold |
Ribbon Fold |
1050 / 1000 |
GIF |
JSON |
zipper |
Zipper |
1050 / 1000 |
GIF |
JSON |
slice-exchange |
Slice Exchange |
900 / 850 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
momentum-glide |
Momentum Glide |
520 / 480 |
GIF |
JSON |
spring-rebound |
Spring Rebound |
620 / 560 |
GIF |
JSON |
spring-wobble |
Spring Wobble |
1000 / 900 |
GIF |
JSON |
rubber-band |
Rubber Band |
850 / 800 |
GIF |
JSON |
jelly |
Jelly |
1200 / 1100 |
GIF |
JSON |
twist-snap |
Twist Snap |
1000 / 900 |
GIF |
JSON |
flag-wave |
Flag Wave |
1200 / 1100 |
GIF |
JSON |
corner-spring |
Corner Spring |
1050 / 1000 |
GIF |
JSON |
accordion |
Accordion |
1150 / 1100 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
noise-dissolve |
Noise Dissolve |
850 / 800 |
GIF |
JSON |
ember-erosion |
Ember Erosion |
1050 / 1000 |
GIF |
JSON |
frost-vanish |
Frost Vanish |
950 / 900 |
GIF |
JSON |
ink-spread |
Ink Spread |
1200 / 1150 |
GIF |
JSON |
ink-bloom |
Ink Bloom |
1250 / 1200 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
iris-bloom |
Iris Bloom |
750 / 700 |
GIF |
JSON |
diamond-turn |
Diamond Turn |
950 / 900 |
GIF |
JSON |
portal-out |
Portal Out |
1000 / 950 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
pixel-relay |
Pixel Relay |
660 / 600 |
GIF |
JSON |
pixel-wipe |
Pixel Wipe |
1000 / 950 |
GIF |
JSON |
pixelate |
Pixelate |
950 / 900 |
GIF |
JSON |
dust-drift |
Dust Drift |
1250 / 1200 |
GIF |
JSON |
pixel-transfer |
Pixel Transfer |
1000 / 950 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
ghost-wisps |
Ghost Wisps |
1300 / 1250 |
GIF |
JSON |
ink-current |
Ink Current |
1400 / 1350 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
ripple-transit |
Ripple Transit |
700 / 640 |
GIF |
JSON |
vortex-transit |
Vortex Transit |
740 / 680 |
GIF |
JSON |
shockwave |
Shockwave |
1000 / 950 |
GIF |
JSON |
ripple-collapse |
Ripple Collapse |
1150 / 1100 |
GIF |
JSON |
wave-fold |
Wave Fold |
1150 / 1100 |
GIF |
JSON |
vortex-fold |
Vortex Fold |
1000 / 900 |
GIF |
JSON |
soft-swirl |
Soft Swirl |
650 / 600 |
GIF |
JSON |
signal-glitch |
Signal Glitch |
700 / 650 |
GIF |
JSON |
chromatic-glitch |
Chromatic Glitch |
850 / 800 |
GIF |
JSON |
soft-phase |
Soft Phase |
850 / 800 |
GIF |
JSON |
| Style ID |
Name |
Open / close (ms) |
Preview |
Settings |
hexagon-burst |
Hexagon Burst |
950 / 900 |
GIF |
JSON |
hive-collapse |
Hive Collapse |
1100 / 1050 |
GIF |
JSON |
Each pairing chooses independent opening and closing styles. See
action profiles for custom combinations and resize selection.
The three motion packs also coordinate stock desktop timing.
| Profile ID |
Opens with |
Closes with |
Open / close (ms) |
Desktop timing |
Preview |
Settings |
fragment-flow |
Balanced |
Implosion |
560 / 520 |
Preserved |
GIF |
JSON |
burst-and-drift |
Explosion |
Dust Drift |
700 / 1200 |
Preserved |
GIF |
JSON |
frost-and-fragments |
Frost Vanish |
Pixel Dust |
950 / 800 |
Preserved |
GIF |
JSON |
spring-and-ember |
Spring Wobble |
Ember Erosion |
1000 / 1000 |
Preserved |
GIF |
JSON |
ghost-and-shockwave |
Ghost Wisps |
Shockwave |
1300 / 950 |
Preserved |
GIF |
JSON |
pixel-shuffle |
Pixel Wipe |
Pixelate |
1000 / 900 |
Preserved |
GIF |
JSON |
ribbon-exit |
Alternating Blinds |
Ribbon Fold |
820 / 1000 |
Preserved |
GIF |
JSON |
geometric-flow |
Triangle Shatter |
Hex Swarm |
680 / 620 |
Preserved |
GIF |
JSON |
ribbon-current |
Ribbon Wave |
Ribbon Transfer |
760 / 640 |
Preserved |
GIF |
JSON |
soft-landing |
Momentum Glide |
Frost Vanish |
480 / 600 |
Preserved |
GIF |
JSON |
gentle-motion |
Momentum Glide |
Frost Vanish |
520 / 900 |
Coordinated |
GIF |
JSON |
balanced-motion |
Balanced |
Implosion |
520 / 680 |
Coordinated |
GIF |
JSON |
playful-motion |
Spring Wobble |
Bubble Burst |
760 / 620 |
Coordinated |
GIF |
JSON |
fragments-motion |
Mixed Confetti |
Orbiting Shapes |
950 / 950 |
Coordinated |
GIF |
JSON |
ribbons-motion |
Ribbon Wave |
Zipper |
1100 / 1000 |
Coordinated |
GIF |
JSON |
elastic-motion |
Spring Wobble |
Rubber Band |
1000 / 800 |
Coordinated |
GIF |
JSON |