diff --git a/Makefile.am b/Makefile.am
index d27b304..bbf1d41 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -89,8 +89,7 @@
 		$(SDEVENTPLUS_LIBS) \
 		$(STDPLUS_LIBS) \
 		$(PHOSPHOR_DBUS_INTERFACES_LIBS) \
-		$(PHOSPHOR_LOGGING_LIBS) \
-		-lstdc++fs
+		$(PHOSPHOR_LOGGING_LIBS)
 
 phosphor_network_manager_CXXFLAGS = \
 		$(SYSTEMD_CFLAGS) \
diff --git a/config_parser.hpp b/config_parser.hpp
index 164d3c3..8af4a34 100644
--- a/config_parser.hpp
+++ b/config_parser.hpp
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <map>
 #include <string>
 #include <tuple>
@@ -18,7 +18,7 @@
 using KeyValueMap = std::multimap<std::string, std::string>;
 using ValueList = std::vector<std::string>;
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 enum class ReturnCode
 {
diff --git a/dns_updater.hpp b/dns_updater.hpp
index 32cbb1b..5d23b29 100644
--- a/dns_updater.hpp
+++ b/dns_updater.hpp
@@ -1,6 +1,6 @@
 #pragma once
 
-#include <experimental/filesystem>
+#include <filesystem>
 
 namespace phosphor
 {
@@ -11,7 +11,7 @@
 namespace updater
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 constexpr auto RESOLV_CONF = "/etc/resolv.conf";
 
diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
index 648595c..677cdd8 100644
--- a/ethernet_interface.cpp
+++ b/ethernet_interface.cpp
@@ -19,7 +19,7 @@
 #include <unistd.h>
 
 #include <algorithm>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <phosphor-logging/elog-errors.hpp>
 #include <phosphor-logging/log.hpp>
@@ -439,7 +439,7 @@
     type = type.substr(type.rfind('.') + 1);
     std::transform(type.begin(), type.end(), type.begin(), ::tolower);
 
-    std::experimental::filesystem::path objectPath;
+    std::filesystem::path objectPath;
     objectPath /= objPath;
     objectPath /= type;
     objectPath /= generateId(ipaddress, prefixLength, gateway);
@@ -449,7 +449,7 @@
 std::string EthernetInterface::generateStaticNeighborObjectPath(
     const std::string& iPAddress, const std::string& mACAddress) const
 {
-    std::experimental::filesystem::path objectPath;
+    std::filesystem::path objectPath;
     objectPath /= objPath;
     objectPath /= "static_neighbor";
     objectPath /= generateNeighborId(iPAddress, mACAddress);
@@ -783,7 +783,7 @@
     using namespace std::string_literals;
     using AddressOrigin =
         sdbusplus::xyz::openbmc_project::Network::server::IP::AddressOrigin;
-    namespace fs = std::experimental::filesystem;
+    namespace fs = std::filesystem;
 
     // if there is vlan interafce then write the configuration file
     // for vlan also.
diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
index f8086a4..7192e26 100644
--- a/ethernet_interface.hpp
+++ b/ethernet_interface.hpp
@@ -5,7 +5,7 @@
 #include "xyz/openbmc_project/Network/IP/Create/server.hpp"
 #include "xyz/openbmc_project/Network/Neighbor/CreateStatic/server.hpp"
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <sdbusplus/bus.hpp>
 #include <sdbusplus/server/object.hpp>
 #include <string>
@@ -35,7 +35,7 @@
 using ServerList = std::vector<std::string>;
 using ObjectPath = sdbusplus::message::object_path;
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 class Manager; // forward declaration of network manager.
 
diff --git a/network_manager.hpp b/network_manager.hpp
index c9f95b3..6815d3f 100644
--- a/network_manager.hpp
+++ b/network_manager.hpp
@@ -6,7 +6,7 @@
 #include "vlan_interface.hpp"
 #include "xyz/openbmc_project/Network/VLAN/Create/server.hpp"
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <list>
 #include <memory>
 #include <sdbusplus/bus.hpp>
@@ -22,7 +22,7 @@
 using SystemConfPtr = std::unique_ptr<SystemConfiguration>;
 using DHCPConfPtr = std::unique_ptr<dhcp::Configuration>;
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 namespace details
 {
 
diff --git a/test/Makefile.am b/test/Makefile.am
index d728099..3d63748 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -25,7 +25,7 @@
 					$(PHOSPHOR_LOGGING_CFLAGS) \
 					$(PHOSPHOR_DBUS_INTERFACES_CFLAGS)
 
-generic_ld_flags =  -lgtest_main -lgtest -lgmock -lstdc++fs \
+generic_ld_flags =  -lgtest_main -lgtest -lgmock \
 					$(OESDK_TESTCASE_FLAGS) \
 					$(SYSTEMD_LIBS) \
 					$(SDBUSPLUS_LIBS) \
diff --git a/test/test_network_manager.cpp b/test/test_network_manager.cpp
index 7943057..df7db77 100644
--- a/test/test_network_manager.cpp
+++ b/test/test_network_manager.cpp
@@ -7,7 +7,7 @@
 #include <stdlib.h>
 
 #include <exception>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <sdbusplus/bus.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
@@ -21,7 +21,7 @@
 std::unique_ptr<Timer> refreshObjectTimer = nullptr;
 std::unique_ptr<Timer> restartTimer = nullptr;
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 class TestNetworkManager : public testing::Test
 {
diff --git a/test/test_vlan_interface.cpp b/test/test_vlan_interface.cpp
index 1dffc7e..76c0828 100644
--- a/test/test_vlan_interface.cpp
+++ b/test/test_vlan_interface.cpp
@@ -9,7 +9,7 @@
 #include <netinet/in.h>
 
 #include <exception>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <sdbusplus/bus.hpp>
 
 #include <gtest/gtest.h>
@@ -19,7 +19,7 @@
 namespace network
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 class TestVlanInterface : public testing::Test
 {
diff --git a/util.cpp b/util.cpp
index c880fd6..63b8f7e 100644
--- a/util.cpp
+++ b/util.cpp
@@ -11,7 +11,7 @@
 #include <algorithm>
 #include <cstdlib>
 #include <cstring>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <list>
 #include <nlohmann/json.hpp>
@@ -33,7 +33,7 @@
 
 using namespace phosphor::logging;
 using namespace sdbusplus::xyz::openbmc_project::Common::Error;
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 uint8_t toV6Cidr(const std::string& subnetMask)
 {
diff --git a/vlan_interface.cpp b/vlan_interface.cpp
index 7a1caf7..6fa3b84 100644
--- a/vlan_interface.cpp
+++ b/vlan_interface.cpp
@@ -6,7 +6,7 @@
 #include "network_manager.hpp"
 
 #include <algorithm>
-#include <experimental/filesystem>
+#include <filesystem>
 #include <fstream>
 #include <phosphor-logging/elog-errors.hpp>
 #include <phosphor-logging/log.hpp>
diff --git a/watch.hpp b/watch.hpp
index bffed3e..b45f53f 100644
--- a/watch.hpp
+++ b/watch.hpp
@@ -7,7 +7,7 @@
 #include <sys/inotify.h>
 #include <systemd/sd-event.h>
 
-#include <experimental/filesystem>
+#include <filesystem>
 #include <functional>
 #include <map>
 
@@ -18,7 +18,7 @@
 namespace inotify
 {
 
-namespace fs = std::experimental::filesystem;
+namespace fs = std::filesystem;
 
 // Auxiliary callback to be invoked on inotify events
 using UserCallBack = std::function<void(const std::string&)>;
