diff --git a/Ryujinx.Common/Utilities/EndianSwap.cs b/Ryujinx.Common/Utilities/EndianSwap.cs
deleted file mode 100644
index 049570e32a..0000000000
--- a/Ryujinx.Common/Utilities/EndianSwap.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System;
-
-namespace Ryujinx.Common
-{
-    public static class EndianSwap
-    {
-        public static ushort Swap16(ushort value) => (ushort)(((value >> 8) & 0xff) | (value << 8));
-
-        public static int Swap32(int value)
-        {
-            uint uintVal = (uint)value;
-
-            return (int)(((uintVal >> 24) & 0x000000ff) |
-                         ((uintVal >>  8) & 0x0000ff00) |
-                         ((uintVal <<  8) & 0x00ff0000) |
-                         ((uintVal << 24) & 0xff000000));
-        }
-
-        public static uint FromBigEndianToPlatformEndian(uint value)
-        {
-            uint result = value;
-
-            if (BitConverter.IsLittleEndian)
-            {
-                result = (uint)EndianSwap.Swap32((int)result);
-            }
-
-            return result;
-        }
-    }
-}
diff --git a/Ryujinx.HLE/HOS/Font/SharedFontManager.cs b/Ryujinx.HLE/HOS/Font/SharedFontManager.cs
index 40a81b86e1..99b662c0d1 100644
--- a/Ryujinx.HLE/HOS/Font/SharedFontManager.cs
+++ b/Ryujinx.HLE/HOS/Font/SharedFontManager.cs
@@ -5,6 +5,7 @@ using Ryujinx.Common;
 using Ryujinx.HLE.Exceptions;
 using Ryujinx.HLE.FileSystem;
 using Ryujinx.HLE.FileSystem.Content;
+using System.Buffers.Binary;
 using System.Collections.Generic;
 using System.IO;
 
@@ -142,7 +143,7 @@ namespace Ryujinx.HLE.HOS.Font
             const int decMagic = 0x18029a7f;
             const int key      = 0x49621806;
 
-            int encryptedSize = EndianSwap.Swap32(size ^ key);
+            int encryptedSize = BinaryPrimitives.ReverseEndianness(size ^ key);
 
             _device.Memory.WriteInt32(position + 0, decMagic);
             _device.Memory.WriteInt32(position + 4, encryptedSize);
diff --git a/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs b/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs
index bb4b6d16c9..0a50a5c885 100644
--- a/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs
+++ b/Ryujinx.HLE/HOS/Services/Audio/Types/OpusPacketHeader.cs
@@ -1,5 +1,6 @@
 using Ryujinx.Common;
 using System;
+using System.Buffers.Binary;
 using System.IO;
 using System.Runtime.InteropServices;
 
@@ -15,8 +16,8 @@ namespace Ryujinx.HLE.HOS.Services.Audio.Types
         {
             OpusPacketHeader header = reader.ReadStruct<OpusPacketHeader>();
 
-            header.length     = EndianSwap.FromBigEndianToPlatformEndian(header.length);
-            header.finalRange = EndianSwap.FromBigEndianToPlatformEndian(header.finalRange);
+            header.length     = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.length)     : header.length;
+            header.finalRange = BitConverter.IsLittleEndian ? BinaryPrimitives.ReverseEndianness(header.finalRange) : header.finalRange;
 
             return header;
         }
diff --git a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs
index 7db8066a6b..af9b38815e 100644
--- a/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs
+++ b/Ryujinx.HLE/HOS/Services/Sockets/Bsd/IClient.cs
@@ -1,6 +1,7 @@
 using Ryujinx.Common;
 using Ryujinx.Common.Logging;
 using Ryujinx.HLE.Utilities;
+using System.Buffers.Binary;
 using System.Collections.Generic;
 using System.Net;
 using System.Net.Sockets;
@@ -199,7 +200,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
         {
             int size   = context.Memory.ReadByte(bufferPosition);
             int family = context.Memory.ReadByte(bufferPosition + 1);
-            int port   = EndianSwap.Swap16(context.Memory.ReadUInt16(bufferPosition + 2));
+            int port   = BinaryPrimitives.ReverseEndianness(context.Memory.ReadUInt16(bufferPosition + 2));
 
             byte[] rawIp = context.Memory.ReadBytes(bufferPosition + 4, 4);
 
@@ -210,7 +211,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
         {
             context.Memory.WriteByte(bufferPosition, 0);
             context.Memory.WriteByte(bufferPosition + 1, (byte)endPoint.AddressFamily);
-            context.Memory.WriteUInt16(bufferPosition + 2, EndianSwap.Swap16((ushort)endPoint.Port));
+            context.Memory.WriteUInt16(bufferPosition + 2, BinaryPrimitives.ReverseEndianness((ushort)endPoint.Port));
             context.Memory.WriteBytes(bufferPosition + 4, endPoint.Address.GetAddressBytes());
         }