Skip to content

Motion

Vector animation that looks the same on every platform.

Written by a model, first try

Lottie → dialect → compile

“A success checkmark that draws itself inside a circle, then stays, 64×64.”

Lottie
Dialect
Compiled
{
"v": "5.12.0",
"fr": 60,
"ip": 0,
"op": 90,
"w": 64,
"h": 64,
"layers": [
{
"ty": 4,
"ind": 1,
"nm": "check",
"ip": 0,
"op": 90,
"st": 0,
"ks": {
"a": {
"a": 0,
"k": [
0,
0
]
},
"p": {
"a": 0,
"k": [
0,
0
]
},
"s": {
"a": 0,
"k": [
100,
100
]
},
"r": {
"a": 0,
"k": 0
},
"o": {
"a": 0,
"k": 100
}
},
"shapes": [
{
"ty": "gr",
"it": [
{
"ty": "sh",
"ks": {
"a": 0,
"k": {
"c": false,
"v": [
[
19,
33
],
[
28,
42
],
[
45,
23
]
],
"i": [
[
0,
0
],
[
0,
0
],
[
0,
0
]
],
"o": [
[
0,
0
],
[
0,
0
],
[
0,
0
]
]
}
}
},
{
"ty": "st",
"c": {
"a": 0,
"k": [
1,
1,
1,
1
]
},
"o": {
"a": 0,
"k": 100
},
"w": {
"a": 0,
"k": 5
},
"lc": 2,
"lj": 2
},
{
"ty": "tm",
"s": {
"a": 0,
"k": 0
},
"e": {
"a": 1,
"k": [
{
"t": 0,
"s": [
0
],
"o": {
"x": [
0.42
],
"y": [
0
]
},
"i": {
"x": [
0.58
],
"y": [
1
]
}
},
{
"t": 20,
"s": [
0
],
"o": {
"x": [
0.42
],
"y": [
0
]
},
"i": {
"x": [
0.58
],
"y": [
1
]
}
},
{
"t": 55,
"s": [
100
]
}
]
},
"o": {
"a": 0,
"k": 0
},
"m": 1
},
{
"ty": "tr",
"a": {
"a": 0,
"k": [
0,
0
]
},
"p": {
"a": 0,
"k": [
0,
0
]
},
"s": {
"a": 0,
"k": [
100,
100
]
},
"r": {
"a": 0,
"k": 0
},
"o": {
"a": 0,
"k": 100
}
}
]
}
]
},
{
"ty": 4,
"ind": 2,
"nm": "circle",
"ip": 0,
"op": 90,
"st": 0,
"ks": {
"a": {
"a": 0,
"k": [
0,
0
]
},
"p": {
"a": 0,
"k": [
32,
32
]
},
"s": {
"a": 0,
"k": [
100,
100
]
},
"r": {
"a": 0,
"k": -90
},
"o": {
"a": 0,
"k": 100
}
},
"shapes": [
{
"ty": "gr",
"it": [
{
"ty": "el",
"p": {
"a": 0,
"k": [
0,
0
]
},
"s": {
"a": 0,
"k": [
56,
56
]
}
},
{
"ty": "fl",
"c": {
"a": 0,
"k": [
0.133,
0.69,
0.4,
1
]
},
"o": {
"a": 1,
"k": [
{
"t": 0,
"s": [
0
],
"o": {
"x": [
0.42
],
"y": [
0
]
},
"i": {
"x": [
0.58
],
"y": [
1
]
}
},
{
"t": 30,
"s": [
100
]
}
]
}
},
{
"ty": "tm",
"s": {
"a": 0,
"k": 0
},
"e": {
"a": 1,
"k": [
{
"t": 0,
"s": [
0
],
"o": {
"x": [
0.42
],
"y": [
0
]
},
"i": {
"x": [
0.58
],
"y": [
1
]
}
},
{
"t": 30,
"s": [
100
]
}
]
},
"o": {
"a": 0,
"k": 0
},
"m": 1
},
{
"ty": "tr",
"a": {
"a": 0,
"k": [
0,
0
]
},
"p": {
"a": 0,
"k": [
0,
0
]
},
"s": {
"a": 0,
"k": [
100,
100
]
},
"r": {
"a": 0,
"k": 0
},
"o": {
"a": 0,
"k": 100
}
}
]
}
]
}
],
"assets": []
}

Interactive

30

Same pixels everywhere

exponential-ui-motion on iOS
exponential-ui-motion on Android

30/30 valid on the first try, 2.8× fewer tokens than Lottie

Docs · eUI