U-46 may refer to one of the following German submarines:
- SM U-46, was a Type U 43 submarine launched in 1915 and that served in the First World War until surrendered to Japan on 26 November 1918; later served as Japanese submarine O-2, 1920–21; rebuilt for test purposes in 1925 but lost in storm; hulk scuttled after discovered by U.S. merchant ship in August 1927
- During the First World War, Germany also had these submarines with similar names:
- SM UB-46, a Type UB II submarine launched in 1916 and sunk on 7 December 1916
- SM UC-46, a Type UC II submarine launched in 1916 and sunk on 8 February 1917
- During the First World War, Germany also had these submarines with similar names:
- German submarine U-46 (1938), a Type VIIB submarine that served in the Second World War until stricken on 14 October 1943; scuttled 4 May 1945