Back to application components
Toggles
Toggle and switch components for forms, settings, and user preferences in web applications with responsive, customizable designs.
4/4 Dark Mode Updated: Jul 4, 2026
<label
for="AcceptConditions"
class="relative block h-8 w-14 rounded-full bg-gray-300 transition-colors [-webkit-tap-highlight-color:transparent] has-checked:bg-green-500"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span
class="absolute inset-y-0 start-0 m-1 size-6 rounded-full bg-white transition-[inset-inline-start] peer-checked:start-6"
></span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="relative block h-8 w-14 rounded-full bg-gray-300 transition-colors [-webkit-tap-highlight-color:transparent] has-checked:bg-green-500 dark:bg-gray-600 dark:has-checked:bg-green-600"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span
class="absolute inset-y-0 start-0 m-1 size-6 rounded-full bg-white transition-[inset-inline-start] peer-checked:start-6 dark:bg-gray-900"
></span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="group relative block h-8 w-14 rounded-full bg-gray-300 transition-colors [-webkit-tap-highlight-color:transparent] has-checked:bg-green-500"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span
class="absolute inset-y-0 start-0 m-1 grid size-6 place-content-center rounded-full bg-white text-gray-700 transition-[inset-inline-start] peer-checked:start-6 peer-checked:*:first:hidden *:last:hidden peer-checked:*:last:block"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="size-4"
>
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
</svg>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="size-4"
>
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" />
</svg>
</span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="relative block h-8 w-14 rounded-full bg-gray-300 transition-colors [-webkit-tap-highlight-color:transparent] has-checked:bg-green-500 dark:bg-gray-600 dark:has-checked:bg-green-600"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span
class="absolute inset-y-0 start-0 m-1 grid size-6 place-content-center rounded-full bg-white text-gray-700 transition-[inset-inline-start] peer-checked:start-6 peer-checked:*:first:hidden *:last:hidden peer-checked:*:last:block dark:bg-gray-900 dark:text-gray-200"
>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="size-4"
>
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
</svg>
<svg
aria-hidden="true"
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
stroke-width="1.5"
stroke="currentColor"
class="size-4"
>
<path stroke-linecap="round" stroke-linejoin="round" d="m4.5 12.75 6 6 9-13.5" />
</svg>
</span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="relative block h-8 w-12 [-webkit-tap-highlight-color:transparent]"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span class="absolute inset-0 m-auto h-2 rounded-full bg-gray-300"></span>
<span
class="absolute inset-y-0 start-0 m-auto size-6 rounded-full bg-gray-500 transition-[inset-inline-start] peer-checked:start-6 peer-checked:*:scale-0"
>
<span class="absolute inset-0 m-auto size-4 rounded-full bg-gray-200 transition-transform">
</span>
</span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="relative block h-8 w-12 [-webkit-tap-highlight-color:transparent]"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span class="absolute inset-0 m-auto h-2 rounded-full bg-gray-300 dark:bg-gray-600"></span>
<span
class="absolute inset-y-0 start-0 m-auto size-6 rounded-full bg-gray-500 transition-[inset-inline-start] peer-checked:start-6 peer-checked:*:scale-0 dark:bg-gray-400"
>
<span
class="absolute inset-0 m-auto size-4 rounded-full bg-gray-200 transition-transform dark:bg-gray-700"
>
</span>
</span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="relative block h-8 w-14 rounded-full bg-gray-300 transition-colors [-webkit-tap-highlight-color:transparent] has-checked:bg-blue-500"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span
class="absolute inset-y-0 start-0 m-1 size-6 rounded-full bg-gray-300 ring-[6px] ring-white transition-all ring-inset peer-checked:start-8 peer-checked:w-2 peer-checked:bg-white peer-checked:ring-transparent"
>
</span>
</label>Plugins: @tailwindcss/forms
<label
for="AcceptConditions"
class="relative block h-8 w-14 rounded-full bg-gray-300 transition-colors [-webkit-tap-highlight-color:transparent] has-checked:bg-blue-500 dark:bg-gray-600 dark:has-checked:bg-blue-600"
>
<input type="checkbox" id="AcceptConditions" class="peer sr-only" />
<span
class="absolute inset-y-0 start-0 m-1 size-6 rounded-full bg-gray-300 ring-[6px] ring-white transition-all ring-inset peer-checked:start-8 peer-checked:w-2 peer-checked:bg-white peer-checked:ring-transparent dark:bg-gray-600 dark:ring-gray-900 dark:peer-checked:bg-gray-900"
>
</span>
</label>Plugins: @tailwindcss/forms