diff --git a/src/quick3d/qquick3dnode.cpp b/src/quick3d/qquick3dnode.cpp
index 0253958f62da0032c78ddf9fb390a5c684ab7416..c704c260ea2c075c8104e0518c397beb4be6111c 100644
--- a/src/quick3d/qquick3dnode.cpp
+++ b/src/quick3d/qquick3dnode.cpp
@@ -280,6 +280,20 @@ QVector3D QQuick3DNode::globalRotation() const
     return QVector3D(angleX, angleY, angleZ);
 }
 
+/*!
+    \qmlproperty vector3d QtQuick3D::Node::globalScale
+
+    This property returns the scale of the node in global coordinate space.
+*/
+QVector3D QQuick3DNode::globalScale() const
+{
+    const QMatrix4x4 transform = globalTransform();
+    const float scaleX = transform.column(0).length();
+    const float scaleY = transform.column(1).length();
+    const float scaleZ = transform.column(2).length();
+    return QVector3D(scaleX, scaleY, scaleZ);
+}
+
 /*!
     \qmlproperty matrix4x4 QtQuick3D::Node::globalTransform
 
diff --git a/src/quick3d/qquick3dnode_p.h b/src/quick3d/qquick3dnode_p.h
index 0f206c390c6f23d2615651f479ae9e19305dcf43..8867f964126f5695fe69c480313ec41bdef799dc 100644
--- a/src/quick3d/qquick3dnode_p.h
+++ b/src/quick3d/qquick3dnode_p.h
@@ -70,6 +70,7 @@ class Q_QUICK3D_EXPORT QQuick3DNode : public QQuick3DObject
     Q_PROPERTY(QVector3D right READ right)
     Q_PROPERTY(QVector3D globalPosition READ globalPosition)
     Q_PROPERTY(QVector3D globalRotation READ globalRotation)
+    Q_PROPERTY(QVector3D globalScale READ globalScale)
     Q_PROPERTY(QMatrix4x4 globalTransform READ globalTransform NOTIFY globalTransformChanged)
 
 public:
@@ -112,8 +113,10 @@ public:
     QVector3D forward() const;
     QVector3D up() const;
     QVector3D right() const;
+
     QVector3D globalPosition() const;
     QVector3D globalRotation() const;
+    QVector3D globalScale() const;
     QMatrix4x4 globalTransform() const;
     QMatrix4x4 globalTransformLeftHanded() const;
     QMatrix4x4 globalTransformRightHanded() const;