diff --git a/snippets/fsharp/System/UriBuilder/.ctor/fs.fsproj b/snippets/fsharp/System/UriBuilder/.ctor/fs.fsproj
new file mode 100644
index 00000000000..c67327a639d
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/.ctor/fs.fsproj
@@ -0,0 +1,13 @@
+
+
+ Exe
+ net6.0
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/.ctor/source.fs b/snippets/fsharp/System/UriBuilder/.ctor/source.fs
new file mode 100644
index 00000000000..b570d5e828e
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/.ctor/source.fs
@@ -0,0 +1,7 @@
+module source
+
+open System
+
+//
+let myUri = UriBuilder "http","www.contoso.com"
+//
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/.ctor/source1.fs b/snippets/fsharp/System/UriBuilder/.ctor/source1.fs
new file mode 100644
index 00000000000..1edc5850716
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/.ctor/source1.fs
@@ -0,0 +1,7 @@
+module source1
+
+open System
+
+//
+let myUri = UriBuilder("http","www.contoso.com", 8080)
+//
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/.ctor/source2.fs b/snippets/fsharp/System/UriBuilder/.ctor/source2.fs
new file mode 100644
index 00000000000..899827f43e9
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/.ctor/source2.fs
@@ -0,0 +1,7 @@
+module source2
+
+open System
+
+//
+let myUri = UriBuilder("http","www.contoso.com", 8080, "index.htm")
+//
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/.ctor/source3.fs b/snippets/fsharp/System/UriBuilder/.ctor/source3.fs
new file mode 100644
index 00000000000..7ee345feb7a
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/.ctor/source3.fs
@@ -0,0 +1,7 @@
+module source3
+
+open System
+
+//
+let myUri = UriBuilder("http","www.contoso.com", 8080, "index.htm", "#top")
+//
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/Fragment/fs.fsproj b/snippets/fsharp/System/UriBuilder/Fragment/fs.fsproj
new file mode 100644
index 00000000000..f0a89cd967d
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/Fragment/fs.fsproj
@@ -0,0 +1,10 @@
+
+
+ Exe
+ net6.0
+
+
+
+
+
+
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/Fragment/source.fs b/snippets/fsharp/System/UriBuilder/Fragment/source.fs
new file mode 100644
index 00000000000..1c3544b1c49
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/Fragment/source.fs
@@ -0,0 +1,9 @@
+//
+open System
+
+let uBuild = UriBuilder "http://www.contoso.com/"
+uBuild.Path <- "index.htm"
+uBuild.Fragment <- "main"
+
+let myUri = uBuild.Uri
+//
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/Query/fs.fsproj b/snippets/fsharp/System/UriBuilder/Query/fs.fsproj
new file mode 100644
index 00000000000..47a4b998c5b
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/Query/fs.fsproj
@@ -0,0 +1,10 @@
+
+
+ Exe
+ net6.0
+
+
+
+
+
+
\ No newline at end of file
diff --git a/snippets/fsharp/System/UriBuilder/Query/main.fs b/snippets/fsharp/System/UriBuilder/Query/main.fs
new file mode 100644
index 00000000000..495ec6bf2f5
--- /dev/null
+++ b/snippets/fsharp/System/UriBuilder/Query/main.fs
@@ -0,0 +1,14 @@
+//
+open System
+
+let baseUri = UriBuilder "http://www.contoso.com/default.aspx?Param1=7890"
+let queryToAppend = "param2=1234"
+
+baseUri.Query <-
+ if baseUri.Query <> null && baseUri.Query.Length > 1 then
+ // Note: In .NET Core and .NET 5+, you can simplify by removing
+ // the call to Substring(), which removes the leading "?" character.
+ baseUri.Query.Substring 1 + "&" + queryToAppend
+ else
+ queryToAppend
+ //
\ No newline at end of file
diff --git a/xml/System/UriBuilder.xml b/xml/System/UriBuilder.xml
index 3a0916eefcd..649fedc8096 100644
--- a/xml/System/UriBuilder.xml
+++ b/xml/System/UriBuilder.xml
@@ -310,6 +310,7 @@ Note: In .NET for Windows Stor
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder3 Example/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System/UriBuilder/.ctor/source.cs" id="Snippet1":::
+ :::code language="fsharp" source="~/snippets/fsharp/System/UriBuilder/.ctor/source.fs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder3 Example/VB/source.vb" id="Snippet1":::
]]>
@@ -375,6 +376,7 @@ Note: In .NET for Windows Stor
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder4 Example/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System/UriBuilder/.ctor/source1.cs" id="Snippet1":::
+ :::code language="fsharp" source="~/snippets/fsharp/System/UriBuilder/.ctor/source1.fs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder4 Example/VB/source.vb" id="Snippet1":::
]]>
@@ -444,6 +446,7 @@ Note: In .NET for Windows Stor
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder5 Example/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System/UriBuilder/.ctor/source2.cs" id="Snippet1":::
+ :::code language="fsharp" source="~/snippets/fsharp/System/UriBuilder/.ctor/source2.fs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder5 Example/VB/source.vb" id="Snippet1":::
]]>
@@ -515,6 +518,7 @@ Note: In .NET for Windows Stor
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder6 Example/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System/UriBuilder/.ctor/source3.cs" id="Snippet1":::
+ :::code language="fsharp" source="~/snippets/fsharp/System/UriBuilder/.ctor/source3.fs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic UriBuilder.UriBuilder6 Example/VB/source.vb" id="Snippet1":::
]]>
@@ -654,6 +658,7 @@ The property contains any text following a fra
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/Classic UriBuilder.Fragment Example/CPP/source.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System/UriBuilder/Fragment/source.cs" id="Snippet1":::
+ :::code language="fsharp" source="~/snippets/fsharp/System/UriBuilder/Fragment/source.fs" id="Snippet1":::
:::code language="vb" source="~/snippets/visualbasic/VS_Snippets_Remoting/Classic UriBuilder.Fragment Example/VB/source.vb" id="Snippet1":::
]]>
@@ -1010,6 +1015,7 @@ The following example sets the property.
:::code language="cpp" source="~/snippets/cpp/VS_Snippets_Remoting/UriBuilderSample/cpp/main.cpp" id="Snippet1":::
:::code language="csharp" source="~/snippets/csharp/System/UriBuilder/Query/main.cs" id="Snippet1":::
+:::code language="fsharp" source="~/snippets/fsharp/System/UriBuilder/Query/main.fs" id="Snippet1":::
]]>