diff --git a/snippets/toggle-switch.md b/snippets/toggle-switch.md
new file mode 100644
index 000000000..98961619e
--- /dev/null
+++ b/snippets/toggle-switch.md
@@ -0,0 +1,113 @@
+### Toggle switch
+
+Creates a toggle switch with CSS only.
+
+#### HTML
+
+```html
+
+
+```
+
+#### CSS
+
+```css
+.switch {
+ position: relative;
+ display: inline-block;
+ width: 40px;
+ height: 20px;
+ background-color: rgba(0, 0, 0, 0.25);
+ border-radius: 20px;
+ transition: all 0.3s;
+}
+
+.switch::after {
+ content: '';
+ position: absolute;
+ width: 18px;
+ height: 18px;
+ border-radius: 18px;
+ background-color: white;
+ top: 1px;
+ left: 1px;
+ transition: all 0.3s;
+}
+
+input[type='checkbox']:checked + .switch::after {
+ transform: translateX(20px);
+}
+
+input[type='checkbox']:checked + .switch {
+ background-color: #7983ff;
+}
+
+.offscreen {
+ position: absolute;
+ left: -9999px;
+}
+```
+
+#### Demo
+
+
+
+
+
+
+
+
+#### Explanation
+
+This effect is styling only the `