diff --git a/system/src/Twig/Extension/TypeCastingExtension.php b/system/src/Twig/Extension/TypeCastingExtension.php
new file mode 100644
index 00000000..cb15c0ad
--- /dev/null
+++ b/system/src/Twig/Extension/TypeCastingExtension.php
@@ -0,0 +1,36 @@
+<?php
+
+declare(strict_types=1);
+
+namespace MyAAC\Twig\Extension;
+
+use Twig\Extension\AbstractExtension;
+use Twig\TwigFilter;
+
+final class TypeCastingExtension extends AbstractExtension
+{
+	/** @return array<int, TwigFilter> */
+	public function getFilters(): array
+	{
+		return [
+			new TwigFilter('int', function ($value) {
+				return (int)$value;
+			}),
+			new TwigFilter('float', function ($value) {
+				return (float)$value;
+			}),
+			new TwigFilter('string', function ($value) {
+				return (string)$value;
+			}),
+			new TwigFilter('bool', function ($value) {
+				return (bool)$value;
+			}),
+			new TwigFilter('array', function (object $value) {
+				return (array)$value;
+			}),
+			new TwigFilter('object', function (array $value) {
+				return (object)$value;
+			}),
+		];
+	}
+}
diff --git a/system/twig.php b/system/twig.php
index b07a3a4c..9176c371 100644
--- a/system/twig.php
+++ b/system/twig.php
@@ -31,6 +31,8 @@ if($dev_mode) {
 }
 unset($dev_mode);
 
+$twig->addExtension(new MyAAC\Twig\Extension\TypeCastingExtension());
+
 $filter = new TwigFilter('timeago', function ($datetime) {
 
 	$time = time() - strtotime($datetime);