vaweGitHub

EasingClassic eases

easeOutCirc

It starts fast and ends slowly. A geometric curve: it starts or stops almost vertically, like a wall.

easeOutCirc reaches 50% of its travel at 13% of the time and 90% at 56%. Its peak speed is over 20x (it ends vertically) the average.

Classic easesfamily: circpeak over 20x

Progress against time0100.51progress50%90%
The dashed line is linear. The dots mark 50% and 90% of the travel.
Velocity, in multiples of average speed011200.51speed, x average
The dashed line is 1x, the speed of linear. The chart stops at 12x.

Live demo

The blue box uses the exact linear() string below, in your browser. The grey box is linear.

easeOutCirc
linear

Your system asks for reduced motion, so the boxes rest at the end of the move.

Numbers

50% of travel
13%of the time
90% of travel
56%of the time
After 10% of time
43.59%of the travel is done
Peak speed
over 20xit ends vertically
Overshoot
0%stays inside the end
Undershoot
0%never below the start
linear() points
1281at a 0.002 tolerance
cubic-bezier
exactworst gap 0.2 points

Copy the code

css linear() (exact)
animation-timing-function: linear(0, 0.0395, 0.0559, 0.0684, 0.079, 0.0883, 0.0967, 0.1044, 0.1116, 0.1184, 0.1248, 0.1308, 0.1366, 0.1422, 0.1475, 0.1526, 0.1576, 0.1624, 0.1671, 0.1717, 0.1761, 0.1804, 0.1846, 0.1887, 0.1927, 0.1967, 0.2005, 0.2043, 0.208, 0.2117, 0.2152, 0.2187, 0.2222, 0.2256, 0.229, 0.2322, 0.2355, 0.2387, 0.2419, 0.245, 0.248, 0.2511, 0.2541, 0.257, 0.2599, 0.2628, 0.2657, 0.2685, 0.2713, 0.274, 0.2768, 0.2795, 0.2821, 0.2848, 0.2874, 0.29, 0.2926, 0.2951, 0.2976, 0.3001, 0.3026, 0.305, 0.3075, 0.3099, 0.3122, 0.3146, 0.317, 0.3193, 0.3216, 0.3239, 0.3262, 0.3284, 0.3307, 0.3329, 0.3351, 0.3373, 0.3394, 0.3416, 0.3437, 0.3459, 0.348, 0.3501, 0.3522, 0.3542, 0.3563, 0.3583, 0.3604, 0.3624, 0.3644, 0.3664, 0.3683, 0.3703, 0.3723, 0.3742, 0.3761, 0.3781, 0.38, 0.3819, 0.3837, 0.3856, 0.3875, 0.3893, 0.3912, 0.393, 0.3948, 0.3967, 0.3985, 0.4002, 0.402, 0.4038, 0.4056, 0.4073, 0.4091, 0.4108, 0.4125, 0.4143, 0.416, 0.4177, 0.4194, 0.4211, 0.4227, 0.4244, 0.4261, 0.4277, 0.4294, 0.431, 0.4326, 0.4343, 0.4359, 0.4375, 0.4391, 0.4407, 0.4423, 0.4439, 0.4454, 0.447, 0.4486, 0.4501, 0.4517, 0.4532, 0.4547, 0.4563, 0.4578, 0.4593, 0.4608, 0.4623, 0.4638, 0.4653, 0.4668, 0.4683, 0.4697, 0.4712, 0.4727, 0.4741, 0.4756, 0.477, 0.4784, 0.4799, 0.4813, 0.4827, 0.4841, 0.4855, 0.4869, 0.4883, 0.4897, 0.4911, 0.4925, 0.4939, 0.4953, 0.4966, 0.498, 0.4993, 0.5007, 0.502, 0.5034, 0.5047, 0.5061, 0.5074, 0.5087, 0.51, 0.5113, 0.5127, 0.514, 0.5153, 0.5166, 0.5179, 0.5191, 0.5204, 0.5217, 0.523, 0.5243, 0.5255, 0.5268, 0.528, 0.5293, 0.5305, 0.5318, 0.533, 0.5343, 0.5355, 0.5367, 0.538, 0.5392, 0.5404, 0.5416, 0.5428, 0.544, 0.5452, 0.5464, 0.5476, 0.5488, 0.55, 0.5512, 0.5524, 0.5536, 0.5547, 0.5559, 0.5571, 0.5582, 0.5594, 0.5605, 0.5617, 0.5628, 0.564, 0.5651, 0.5663, 0.5674, 0.5685, 0.5697, 0.5708, 0.5719, 0.573, 0.5742, 0.5753, 0.5764, 0.5775, 0.5786, 0.5797, 0.5808, 0.5819, 0.583, 0.584, 0.5851, 0.5862, 0.5873, 0.5884, 0.5894, 0.5905, 0.5916, 0.5926, 0.5937, 0.5948, 0.5958, 0.5969, 0.5979, 0.599, 0.6, 0.601, 0.6021, 0.6031, 0.6041, 0.6052, 0.6062, 0.6072, 0.6082, 0.6093, 0.6103, 0.6113, 0.6123, 0.6133, 0.6143, 0.6153, 0.6163, 0.6173, 0.6183, 0.6193, 0.6203, 0.6213, 0.6223, 0.6232, 0.6242, 0.6252, 0.6262, 0.6271, 0.6281, 0.6291, 0.63, 0.631, 0.632, 0.6329, 0.6339, 0.6348, 0.6358, 0.6367, 0.6377, 0.6386, 0.6395, 0.6405, 0.6414, 0.6424, 0.6433, 0.6442, 0.6451, 0.6461, 0.647, 0.6479, 0.6488, 0.6497, 0.6507, 0.6516, 0.6525, 0.6534, 0.6543, 0.6552, 0.6561, 0.657, 0.6579, 0.6588, 0.6597, 0.6606, 0.6614, 0.6623, 0.6632, 0.6641, 0.665, 0.6658, 0.6667, 0.6676, 0.6685, 0.6693, 0.6702, 0.6711, 0.6719, 0.6728, 0.6736, 0.6745, 0.6753, 0.6762, 0.677, 0.6779, 0.6787, 0.6796, 0.6804, 0.6813, 0.6821, 0.6829, 0.6838, 0.6846, 0.6854, 0.6863, 0.6871, 0.6879, 0.6887, 0.6896, 0.6904, 0.6912, 0.692, 0.6928, 0.6936, 0.6945, 0.6953, 0.6961, 0.6969, 0.6977, 0.6985, 0.6993, 0.7001, 0.7009, 0.7017, 0.7025, 0.7033, 0.704, 0.7048, 0.7056, 0.7064, 0.7072, 0.708, 0.7087, 0.7095, 0.7103, 0.7111, 0.7118, 0.7126, 0.7134, 0.7141, 0.7149, 0.7157, 0.7164, 0.7172, 0.718, 0.7187, 0.7195, 0.7202, 0.721, 0.7217, 0.7225, 0.7232, 0.724, 0.7247, 0.7254, 0.7262, 0.7269, 0.7277, 0.7284, 0.7291, 0.7299, 0.7306, 0.7313, 0.7321, 0.7328, 0.7335, 0.7342, 0.7349, 0.7357, 0.7364, 0.7371, 0.7378, 0.7385, 0.7392, 0.74, 0.7407, 0.7414, 0.7421, 0.7428, 0.7435, 0.7442, 0.7449, 0.7456, 0.7463, 0.747, 0.7477, 0.7484, 0.7491, 0.7498, 0.7504, 0.7511, 0.7518, 0.7525, 0.7532, 0.7539, 0.7545, 0.7552, 0.7559, 0.7566, 0.7573, 0.7579, 0.7586, 0.7593, 0.7599, 0.7606, 0.7613, 0.7619, 0.7626, 0.7633, 0.7639, 0.7646, 0.7652, 0.7659, 0.7665, 0.7672, 0.7679, 0.7685, 0.7692, 0.7698, 0.7705, 0.7711, 0.7717, 0.7724, 0.773, 0.7737, 0.7743, 0.7749, 0.7756, 0.7762, 0.7768, 0.7775, 0.7781, 0.7787, 0.7794, 0.78, 0.7806, 0.7812, 0.7819, 0.7825, 0.7831, 0.7837, 0.7844, 0.785, 0.7856, 0.7862, 0.7868, 0.7874, 0.788, 0.7886, 0.7893, 0.7899, 0.7905, 0.7911, 0.7917, 0.7923, 0.7929, 0.7935, 0.7941, 0.7947, 0.7953, 0.7959, 0.7965, 0.7971, 0.7976, 0.7982, 0.7988, 0.7994, 0.8, 0.8006, 0.8012, 0.8018, 0.8023, 0.8029, 0.8035, 0.8041, 0.8046, 0.8052, 0.8058, 0.8064, 0.8069, 0.8075, 0.8081, 0.8087, 0.8092, 0.8098, 0.8104, 0.8109, 0.8115, 0.812, 0.8126, 0.8132, 0.8137, 0.8143, 0.8148, 0.8154, 0.8159, 0.8165, 0.8171, 0.8176, 0.8182, 0.8187, 0.8192, 0.8198, 0.8203, 0.8209, 0.8214, 0.822, 0.8225, 0.8231, 0.8236, 0.8241, 0.8247, 0.8252, 0.8257, 0.8263, 0.8268, 0.8273, 0.8279, 0.8284, 0.8289, 0.8294, 0.83, 0.8305, 0.831, 0.8315, 0.8321, 0.8326, 0.8331, 0.8336, 0.8341, 0.8346, 0.8352, 0.8357, 0.8362, 0.8367, 0.8372, 0.8377, 0.8382, 0.8387, 0.8392, 0.8398, 0.8403, 0.8408, 0.8413, 0.8418, 0.8423, 0.8428, 0.8433, 0.8438, 0.8443, 0.8448, 0.8452, 0.8457, 0.8462, 0.8467, 0.8472, 0.8477, 0.8482, 0.8487, 0.8492, 0.8497, 0.8501, 0.8506, 0.8511, 0.8516, 0.8521, 0.8525, 0.853, 0.8535, 0.854, 0.8545, 0.8549, 0.8554, 0.8559, 0.8563, 0.8568, 0.8573, 0.8578, 0.8582, 0.8587, 0.8592, 0.8596, 0.8601, 0.8605, 0.861, 0.8615, 0.8619, 0.8624, 0.8628, 0.8633, 0.8638, 0.8642, 0.8647, 0.8651, 0.8656, 0.866, 0.8665, 0.8669, 0.8674, 0.8678, 0.8683, 0.8687, 0.8692, 0.8696, 0.87, 0.8705, 0.8709, 0.8714, 0.8718, 0.8722, 0.8727, 0.8731, 0.8736, 0.874, 0.8744, 0.8749, 0.8753, 0.8757, 0.8762, 0.8766, 0.877, 0.8774, 0.8779, 0.8783, 0.8787, 0.8791, 0.8796, 0.88, 0.8804, 0.8808, 0.8812, 0.8817, 0.8821, 0.8825, 0.8829, 0.8833, 0.8837, 0.8842, 0.8846, 0.885, 0.8854, 0.8858, 0.8862, 0.8866, 0.887, 0.8874, 0.8878, 0.8882, 0.8886, 0.889, 0.8895, 0.8899, 0.8903, 0.8907, 0.891, 0.8914, 0.8918, 0.8922, 0.8926, 0.893, 0.8934, 0.8938, 0.8942, 0.8946, 0.895, 0.8954, 0.8958, 0.8962, 0.8965, 0.8969, 0.8973, 0.8977, 0.8981, 0.8985, 0.8988, 0.8992, 0.8996, 0.9, 0.9004, 0.9007, 0.9011, 0.9015, 0.9019, 0.9022, 0.9026, 0.903, 0.9033, 0.9037, 0.9041, 0.9045, 0.9048, 0.9052, 0.9056, 0.9059, 0.9063, 0.9067, 0.907, 0.9074, 0.9077, 0.9081, 0.9085, 0.9088, 0.9092, 0.9095, 0.9099, 0.9102, 0.9106, 0.911, 0.9113, 0.9117, 0.912, 0.9124, 0.9127, 0.9131, 0.9134, 0.9138, 0.9141, 0.9145, 0.9148, 0.9151, 0.9155, 0.9158, 0.9162, 0.9165, 0.9169, 0.9172, 0.9175, 0.9179, 0.9182, 0.9185, 0.9189, 0.9192, 0.9196, 0.9199, 0.9202, 0.9205, 0.9209, 0.9212, 0.9215, 0.9219, 0.9222, 0.9225, 0.9229, 0.9232, 0.9235, 0.9238, 0.9241, 0.9245, 0.9248, 0.9251, 0.9254, 0.9258, 0.9261, 0.9264, 0.9267, 0.927, 0.9273, 0.9277, 0.928, 0.9283, 0.9286, 0.9289, 0.9292, 0.9295, 0.9298, 0.9301, 0.9305, 0.9308, 0.9311, 0.9314, 0.9317, 0.932, 0.9323, 0.9326, 0.9329, 0.9332, 0.9335, 0.9338, 0.9341, 0.9344, 0.9347, 0.935, 0.9353, 0.9356, 0.9359, 0.9362, 0.9365, 0.9367, 0.937, 0.9373, 0.9376, 0.9379, 0.9382, 0.9385, 0.9388, 0.9391, 0.9393, 0.9396, 0.9399, 0.9402, 0.9405, 0.9408, 0.941, 0.9413, 0.9416, 0.9419, 0.9422, 0.9424, 0.9427, 0.943, 0.9433, 0.9435, 0.9438, 0.9441, 0.9444, 0.9446, 0.9449, 0.9452, 0.9454, 0.9457, 0.946, 0.9462, 0.9465, 0.9468, 0.947, 0.9473, 0.9476, 0.9478, 0.9481, 0.9484, 0.9486, 0.9489, 0.9491, 0.9494, 0.9497, 0.9499, 0.9502, 0.9504, 0.9507, 0.9509, 0.9512, 0.9514, 0.9517, 0.952, 0.9522, 0.9525, 0.9527, 0.953, 0.9532, 0.9534, 0.9537, 0.9539, 0.9542, 0.9544, 0.9547, 0.9549, 0.9552, 0.9554, 0.9556, 0.9559, 0.9561, 0.9564, 0.9566, 0.9568, 0.9571, 0.9573, 0.9575, 0.9578, 0.958, 0.9582, 0.9585, 0.9587, 0.9589, 0.9592, 0.9594, 0.9596, 0.9599, 0.9601, 0.9603, 0.9605, 0.9608, 0.961, 0.9612, 0.9614, 0.9617, 0.9619, 0.9621, 0.9623, 0.9626, 0.9628, 0.963, 0.9632, 0.9634, 0.9636, 0.9639, 0.9641, 0.9643, 0.9645, 0.9647, 0.9649, 0.9651, 0.9654, 0.9656, 0.9658, 0.966, 0.9662, 0.9664, 0.9666, 0.9668, 0.967, 0.9672, 0.9674, 0.9676, 0.9678, 0.968, 0.9682, 0.9684, 0.9686, 0.9688, 0.969, 0.9692, 0.9694, 0.9696, 0.9698, 0.97, 0.9702, 0.9704, 0.9706, 0.9708, 0.971, 0.9712, 0.9714, 0.9716, 0.9718, 0.972, 0.9721, 0.9723, 0.9725, 0.9727, 0.9729, 0.9731, 0.9733, 0.9734, 0.9736, 0.9738, 0.974, 0.9742, 0.9744, 0.9745, 0.9747, 0.9749, 0.9751, 0.9753, 0.9754, 0.9756, 0.9758, 0.976, 0.9761, 0.9763, 0.9765, 0.9766, 0.9768, 0.977, 0.9772, 0.9773, 0.9775, 0.9777, 0.9778, 0.978, 0.9782, 0.9783, 0.9785, 0.9787, 0.9788, 0.979, 0.9792, 0.9793, 0.9795, 0.9796, 0.9798, 0.98, 0.9801, 0.9803, 0.9804, 0.9806, 0.9807, 0.9809, 0.9811, 0.9812, 0.9814, 0.9815, 0.9817, 0.9818, 0.982, 0.9821, 0.9823, 0.9824, 0.9826, 0.9827, 0.9829, 0.983, 0.9831, 0.9833, 0.9834, 0.9836, 0.9837, 0.9839, 0.984, 0.9841, 0.9843, 0.9844, 0.9846, 0.9847, 0.9848, 0.985, 0.9851, 0.9853, 0.9854, 0.9855, 0.9857, 0.9858, 0.9859, 0.9861, 0.9862, 0.9863, 0.9864, 0.9866, 0.9867, 0.9868, 0.987, 0.9871, 0.9872, 0.9873, 0.9875, 0.9876, 0.9877, 0.9878, 0.988, 0.9881, 0.9882, 0.9883, 0.9884, 0.9886, 0.9887, 0.9888, 0.9889, 0.989, 0.9892, 0.9893, 0.9894, 0.9895, 0.9896, 0.9897, 0.9898, 0.99, 0.9901, 0.9902, 0.9903, 0.9904, 0.9905, 0.9906, 0.9907, 0.9908, 0.9909, 0.991, 0.9911, 0.9912, 0.9913, 0.9915, 0.9916, 0.9917, 0.9918, 0.9919, 0.992, 0.9921, 0.9922, 0.9923, 0.9924, 0.9924, 0.9925, 0.9926, 0.9927, 0.9928, 0.9929, 0.993, 0.9931, 0.9932, 0.9933, 0.9934, 0.9935, 0.9936, 0.9937, 0.9937, 0.9938, 0.9939, 0.994, 0.9941, 0.9942, 0.9943, 0.9943, 0.9944, 0.9945, 0.9946, 0.9947, 0.9947, 0.9948, 0.9949, 0.995, 0.9951, 0.9951, 0.9952, 0.9953, 0.9954, 0.9954, 0.9955, 0.9956, 0.9957, 0.9957, 0.9958, 0.9959, 0.996, 0.996, 0.9961, 0.9962, 0.9962, 0.9963, 0.9964, 0.9964, 0.9965, 0.9966, 0.9966, 0.9967, 0.9968, 0.9968, 0.9969, 0.9969, 0.997, 0.9971, 0.9971, 0.9972, 0.9972, 0.9973, 0.9974, 0.9974, 0.9975, 0.9975, 0.9976, 0.9976, 0.9977, 0.9977, 0.9978, 0.9978, 0.9979, 0.9979, 0.998, 0.998, 0.9981, 0.9981, 0.9982, 0.9982, 0.9983, 0.9983, 0.9984, 0.9984, 0.9985, 0.9985, 0.9985, 0.9986, 0.9986, 0.9987, 0.9987, 0.9987, 0.9988, 0.9988, 0.9989, 0.9989, 0.9989, 0.999, 0.999, 0.999, 0.9991, 0.9991, 0.9991, 0.9992, 0.9992, 0.9992, 0.9993, 0.9993, 0.9993, 0.9994, 0.9994, 0.9994, 0.9994, 0.9995, 0.9995, 0.9995, 0.9995, 0.9996, 0.9996, 0.9996, 0.9996, 0.9996, 0.9997, 0.9997, 0.9997, 0.9997, 0.9997, 0.9998, 0.9998, 0.9998, 0.9998, 0.9998, 0.9998, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 0.9999, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
cubic-bezier (matches within 0.5%)
animation-timing-function: cubic-bezier(0, 0.54, 0.44, 1);

Least-squares fit to the easeOutCirc curve; the worst gap is 0.2 points of travel. The linear() string is exact.

web animations api
el.animate({ translate: ['0 0', '240px 0'] }, { duration: 600, easing: 'cubic-bezier(0, 0.54, 0.44, 1)', fill: 'both' });
vawe
import { easeOutCirc } from '../../core/motion/curves.js';
import { curveToLinear } from '../../core/motion/springs.js';

const easing = curveToLinear(easeOutCirc, { tolerance: 0.002 }); // the linear() string above
const x = easeOutCirc(u);                                         // per-frame code, u in 0..1

When to use it, and when to avoid it

Use it for

  • Entrances and replies to a click, where the thing should respond at once and then settle.
  • For circ: mechanical moves and wipes with a hard edge.

Avoid it for

  • Loops: it stops dead at the end and has no speed to hand on.
  • For circ: soft, organic motion: the stop feels cut.

The nearest vawe ease

The closest of the nine vawe After Effects eases is land, an RMS gap of 0.0376 in progress. After Effects and vawe set the shape with two handles, so it can be tuned where a named curve cannot.