Start Here

Install

Install Topaz with one command and check the installed version, or start in the Playground. npm, direct downloads with checksums, editor support, signatures, and source follow.

Run the one command for your system and check that topaz starts. The sections from npm onward are for other ways to install and for the published files.

Install with one command

On macOS and Linux, run this command in a terminal.

BASH
curl -fsSL https://topaz.ooo/install.sh | sh

On Windows, run this command in PowerShell.

POWERSHELL
irm https://topaz.ooo/install.ps1 | iex

Each script picks the latest published release for your system and downloads the compressed program. It checks the download and the decompressed program against the SHA-256 checksums published with that release. The script puts topaz in ~/.topaz/bin on macOS and Linux, and in %LOCALAPPDATA%\Topaz\bin on Windows.

Check the installation

Open a new terminal and check that it finds Topaz.

BASH
topaz version

The output is Topaz followed by the installed version. Read that version when checking an installation or reporting a problem.

The latest published release is v5.20.4.

If the command is not found, open a new terminal and check that the installation folder is on PATH. The Windows script adds its folder to your user PATH. On macOS and Linux, the script prints the export PATH=... line to add when the folder is not on PATH yet.

When topaz version works, return to First Program to write and run your first file.

Start without installing

The Playground edits, checks, and runs Topaz in your browser without the CLI. It loads the compiler and interpreter WASM in a Worker. To call Topaz functions from your own JavaScript application, see Call Topaz from JavaScript.

Install with npm

With Node.js 18 or newer, npm can install Topaz. The topaz-lang package runs an installer script that downloads the program for your system and checks it against the published SHA-256 checksums.

Install for every folder

BASH
npm install -g --allow-scripts=topaz-lang topaz-lang
topaz version

--allow-scripts=topaz-lang lets npm run the installer of topaz-lang and of no other package. To install one of the published releases below instead of the latest, put its number after topaz-lang@.

Install in one folder

To keep Topaz inside one project folder, install it there and run it through npx.

BASH
npm install topaz-lang
npx topaz version

The same command is at node_modules/.bin/topaz.

Answer the install script warning

npm 11 prints an npm warn allow-scripts warning that names topaz-lang and its postinstall script. The installer has still run. To record your approval in the folder's package.json and stop the warning, run this command in that folder.

BASH
npm approve-scripts topaz-lang

npm 12 runs an install script only with your permission. If npx topaz version reports binary not found, the installer did not run. Approve it as above, then run the installer again.

BASH
npm rebuild topaz-lang

Download a file directly

Each published release lists its executables with their size and SHA-256 checksum. The .gz, .xz, and .br files hold the same program, compressed. The versions below are the published releases.

Published · Release manifest

PlatformExecutable
Linux x86_64
topaz-linux-x86_64121,827,160 bytesSHA-256 198128f251bacdfee962aaaab1709c4b032cce13cfde7f19f6ecb42ecee0416d

Checksum file

Compressed downloads
topaz-linux-x86_64.gz46,696,071 bytesSHA-256 e5779231f51c35fa3cf6157b636408aa3bdbd0c4af7fee37be0e6470047f6a1f
topaz-linux-x86_64.xz33,383,852 bytesSHA-256 18012c92c4c98cdadc7a0e69b22022acddb81b927bd94b9f2b4ce275fbbc69f7
topaz-linux-x86_64.br33,272,330 bytesSHA-256 675974836d81e4cf5dd638dcfea0a9b4f51bc19dd535454f814df3ff0866214d
Linux arm64
topaz-linux-aarch6496,258,824 bytesSHA-256 753f8f2cd7cc83c073ccd49a9836fc440412ce35e6b177cc35d76dcafcc990e8

Checksum file

Compressed downloads
topaz-linux-aarch64.gz45,158,147 bytesSHA-256 78c7f12ba9ed7712630c0ebd905f8348cf7b271fa0e204591143c71b9c3d38f0
topaz-linux-aarch64.xz31,550,124 bytesSHA-256 60934e25610258c5c657d65a3fa38900bfa7676669270b5b1aa587b4005893af
topaz-linux-aarch64.br32,335,606 bytesSHA-256 101bc3d7248e6d0a2a8cd9a76e3e825b8e185a07919ef3995d35df8fffc95771
macOS Intel
topaz-macos-x86_64114,215,724 bytesSHA-256 d06ea083342000eb86239c4d595277e1dbe9622bfff5df7c64e5dd8d1b0c0969

Checksum file

Compressed downloads
topaz-macos-x86_64.gz45,905,450 bytesSHA-256 f765c5d475c64de6825bda4acc15c36ad679491505acb15e1b32e2ec07d0e0d6
topaz-macos-x86_64.xz33,365,840 bytesSHA-256 617186fea0ef1a3672cf9fe8709d8a61bdd3661d8c8220c01d42f27da7b1492a
topaz-macos-x86_64.br33,228,979 bytesSHA-256 5227a4828aafce8b42e448a4f510826259cdcd331309f31f0541f9a1b446d74f
macOS Apple silicon
topaz-macos-aarch6495,493,792 bytesSHA-256 d2e2b8d1fc3a5a7da20e296b70c7241331ba3e65e8c130475276f4e3049e1c01

Checksum file

Compressed downloads
topaz-macos-aarch64.gz44,440,957 bytesSHA-256 db34c049f956a05b3213a693dc0756654f1d8d8420599a952ea659779f294869
topaz-macos-aarch64.xz31,096,688 bytesSHA-256 0c1205319d1b840a49c42ec72bfca4f5bb1f9fff896947c71c4dea40954f9d37
topaz-macos-aarch64.br31,812,741 bytesSHA-256 cb65fbf21574c18c7283f27c7641e600c7f3096dfdce752d1a9e017041cc0437
Windows x86_64
topaz-windows-x86_64.exe158,483,456 bytesSHA-256 139c77cddee9e5d758824e0c9460f20779d4df2bee08f74145b83cbbd86aacf6

Checksum file

Compressed downloads
topaz-windows-x86_64.exe.gz50,517,124 bytesSHA-256 515225f57052c87962aa5e296ce3bfdbbe6cfe2acf0dcddcbd57c01ea1629043
topaz-windows-x86_64.exe.xz35,415,340 bytesSHA-256 083c48ef843b530425e643c489f792daefc26f6fb89a20d99bebd232ad9957ca
topaz-windows-x86_64.exe.br35,286,480 bytesSHA-256 2d016d872829b4668e220bc140b3e6298a90248cfa74fae6ddcb6a3d809399ea

Check a file before you run it. On Linux, print its SHA-256 checksum with sha256sum.

BASH
sha256sum topaz-linux-x86_64

On macOS, use shasum -a 256 topaz-macos-aarch64 with your file name. In PowerShell on Windows, use Get-FileHash.

POWERSHELL
Get-FileHash .\topaz-windows-x86_64.exe -Algorithm SHA256

The value must match the SHA-256 shown for that file and the value in its .sha256 file. PowerShell prints it in capital letters. A compressed file needs one more step. Decompress a .gz file with gzip -d and an .xz file with xz -d. Decompress a .br file with brotli -d from the Brotli tools, or download the uncompressed executable in the table if you do not have them. Then check the program you get against the executable's SHA-256.

Put the program in a folder on PATH under the name topaz, or topaz.exe on Windows. On macOS and Linux, also make it executable.

BASH
mkdir -p ~/.topaz/bin
mv topaz-linux-x86_64 ~/.topaz/bin/topaz
chmod +x ~/.topaz/bin/topaz

Then check it with topaz version as above.

Add tools for native and Web builds

topaz check and topaz run need nothing else. Native builds also need Rust with Cargo for the target platform. Web builds also need the Rust target wasm32-unknown-unknown. You will use these tools in First Application.

Set up your editor

In VS Code or an Open VSX-compatible editor, install the official Topaz extension from the Visual Studio Marketplace or Open VSX Registry. It recognizes .tpz files, adds the Topaz icon, and highlights syntax.

The extension starts the installed topaz lsp to show error messages in the editor. The compiler is installed separately. Make sure the editor can find it on PATH, or set topaz.executablePath to its location. You can also use topaz check in the terminal.

Check the release signature

checksums.txt lists the SHA-256 of every file in a release. checksums.txt.sig is its Ed25519 signature. Download both with the release public key topaz-release.pub from the links under the file table, then check the signature with OpenSSL 3 in that folder.

BASH
openssl pkeyutl -verify -pubin -inkey topaz-release.pub -rawin -in checksums.txt -sigfile checksums.txt.sig

OpenSSL prints Signature Verified Successfully. The release manifest lists every file the release published.

Source and licenses

5.20.4 preserves the full Rust reference source under Apache-2.0.

Historical Rust reference source

topaz-stage0-source-v5.20.4.tar.gz52,174,128 bytesSHA-256 09e3bbe880cb3e8d05984576cb768e090f2f38ec96d866a62db96cf0a37a6b8b

Reconstruction record

Browse source

Read Public Source and Licenses for component terms and the historical source snapshot.

Release history

Choose a published release to see its files and source.

Release versionPublishedFile