\documentclass[10pt]{article}
%This is the minimal setup required to render the flag
\usepackage[paperwidth=60cm, paperheight=30cm, top=0cm, bottom=0cm, left=0cm, right=0cm]{geometry}
%Paper width is set to 60cm by 30 cm to match the UK Government-specified aspect ratio (2:1)
\usepackage{tikz}
%\usepackage[dvipsnames]{xcolor} % Optional unless you want to use colors pre-defined by the xcolor package
% UK Government-specified colors for the flag
\definecolor{ukred}{RGB}{200,16,46}
\definecolor{ukwhite}{RGB}{255,255,255}
\definecolor{ukblue}{RGB}{1,33,105}
% Other government specifications include:
% White cross (upright) is 1/3 flag width, here it is 10 cm
% White St. Andrew's Cross (diagonal) is 1/5 flag width, here it is 6 cm
% Red cross (upright) is 1/5 flag width, here it is 6 cm
% Red St. Patrick's Cross (diagonal) is 1/15 flag width, here it is 2 cm
%Sources:
%https://www.flaginstitute.org/wp/british-flags-2/the-union-jack-or-the-union-flag/union-flag-bill-2008/
%http://www.jdawiseman.com/papers/union-jack/union-jack.html
%https://flagcolor.com/british-flag-colors/#:~:text=The%20United%20Kingdom%20flag%20is,your%20digital%20or%20print%20projects.
%Created by Senan Sekhon, December 2, 2020
\begin{document}
\begin{center}
\begin{tikzpicture}[scale=1] %Scale must be changed to make the flag fit on letter/A4 paper (scale=1 produces a 60 cm by 30 cm flag)
\clip (-30,-15) rectangle (30,15); %Optional, crops the flag to the correct size
\draw[-] (-30,-15)--(30,-15)--(30,15)--(-30,15)--cycle; %Optional, draws a border around the flag
%Blue background:
\fill[ukblue] (-30,-15)--(30,-15)--(30,15)--(-30,15)--cycle;
%White upright cross:
\fill[ukwhite] (5,15)--(5,5)--(30,5)--(30,-5)--(5,-5)--(5,-15)--(-5,-15)--(-5,-5)--(-30,-5)--(-30,5)--(-30,5)--(-5,5)--(-5,15)--cycle;
%White St. Andrew's Cross:
\fill[ukwhite] (-30,-15)--(-30,{-15+3/2*sqrt(5)})--({30-3*sqrt(5)},15)--(30,15)--(30,{15-3/2*sqrt(5)})--({-30+3*sqrt(5)},-15)--cycle; %Lower-left to upper-right
\fill[ukwhite] (-30,15)--(-30,{15-3/2*sqrt(5)})--({30-3*sqrt(5)},-15)--(30,-15)--(30,{-15+3/2*sqrt(5)})--({-30+3*sqrt(5)},15)--cycle; %Upper-left to lower-right
%Red upright Cross:
\fill[ukred] (3,15)--(3,3)--(30,3)--(30,-3)--(3,-3)--(3,-15)--(-3,-15)--(-3,-3)--(-30,-3)--(-30,3)--(-30,3)--(-3,3)--(-3,15)--cycle;
%Red St. Patrick's Cross:
\fill[ukred] ({10-2*sqrt(5)},5)--(10,5)--(30,15)--({30-2*sqrt(5)},15)--cycle; %Upper-right diagonal
\fill[ukred] (-10,5)--({-10-2*sqrt(5)},5)--(-30,{15-sqrt(5)})--(-30,15)--cycle; %Upper-left diagonal
\fill[ukred] ({-10+2*sqrt(5)},-5)--(-10,-5)--(-30,-15)--({-30+2*sqrt(5)},-15)--cycle; %Lower-left diagonal
\fill[ukred] (10,-5)--({10+2*sqrt(5)},-5)--(30,{-15+sqrt(5)})--(30,-15)--cycle; %Lower-right diagonal
\end{tikzpicture}
\end{center}
%This prints the two white crosses (upright and St. Andrew's) as a single (28-sided) shape, it is not required for the flag:
%\fill[ukwhite] (5,15)--(5,{5+2*sqrt(-11+5*sqrt(5))})--({30-3*sqrt(5)},15)--(30,15)--(30,{15-3/2*sqrt(5)})--({10+3*sqrt(5)},5)--(30,5)--(30,-5)--({10+3*sqrt(5)},-5)--(30,{-15+3/2*sqrt(5)})--(30,-15)--({30-3*sqrt(5)},-15)--(5,{-5-2*sqrt(-11+5*sqrt(5))})--(5,-15)--(-5,-15)--(-5,{-5-2*sqrt(-11+5*sqrt(5))})--({-30+3*sqrt(5)},-15)--(-30,-15)--(-30,{-15+3/2*sqrt(5)})--({-10-3*sqrt(5)},-5)--(-30,-5)--(-30,5)--({-10-3*sqrt(5)},5)--(-30,{15-3/2*sqrt(5)})--(-30,15)--({-30+3*sqrt(5)},15)--(-5,{5+2*sqrt(-11+5*sqrt(5))})--(-5,15)--cycle;
\end{document}