Visual J# (às vezes conhecido como apenas J#) é um conjunto de ferramentas de corte de programa que permitem aos desenvolvedores usar a linguagem de programação Java para escrever aplicações que serão executadas na plataforma de tempo de execução .NET da Microsoft. Enquanto a Microsoft não suporta a máquina virtual Java como parte da .NET, o Visual J# permite que um programador familiarizado ou que prefira os conceitos e sintaxe da linguagem Java escreva e compile um programa que será executado com sucesso na plataforma de tempo de execução da linguagem comum .NET Framework. As instruções do código fonte são compiladas na Microsoft Intermediate Language (MSIL), que é o equivalente do bytecode Java. Um programa já compilado em bytecode Java pode ser convertido em MSIL.
Com Visual J#, a Microsoft inclui suas próprias bibliotecas de classe que são equivalentes às bibliotecas de classe do Java Development Kit nível 1.1.4. O Visual J# suporta a funcionalidade do Visual J++ e das extensões Microsoft. Para usuários do Visual J++, a Microsoft diz que o Visual J# apresenta uma interface familiar e ambos sistemas de desenvolvimento e arquivos de projeto podem ser usados na mesma máquina.
Um arquivo fonte escrito no Visual J# terá por padrão o sufixo do nome do arquivo .jsl.