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.
curl -fsSL https://topaz.ooo/install.sh | shOn Windows, run this command in PowerShell.
irm https://topaz.ooo/install.ps1 | iexEach 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.
topaz versionThe 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
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.
npm install topaz-lang
npx topaz versionThe 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.
npm approve-scripts topaz-langnpm 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.
npm rebuild topaz-langDownload 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
| Platform | Executable |
|---|---|
Linux x86_64 | topaz-linux-x86_64121,827,160 bytes SHA-256 198128f251bacdfee962aaaab1709c4b032cce13cfde7f19f6ecb42ecee0416dCompressed downloadstopaz-linux-x86_64.gz46,696,071 bytes SHA-256 e5779231f51c35fa3cf6157b636408aa3bdbd0c4af7fee37be0e6470047f6a1ftopaz-linux-x86_64.xz33,383,852 bytes SHA-256 18012c92c4c98cdadc7a0e69b22022acddb81b927bd94b9f2b4ce275fbbc69f7topaz-linux-x86_64.br33,272,330 bytes SHA-256 675974836d81e4cf5dd638dcfea0a9b4f51bc19dd535454f814df3ff0866214d |
Linux arm64 | topaz-linux-aarch6496,258,824 bytes SHA-256 753f8f2cd7cc83c073ccd49a9836fc440412ce35e6b177cc35d76dcafcc990e8Compressed downloadstopaz-linux-aarch64.gz45,158,147 bytes SHA-256 78c7f12ba9ed7712630c0ebd905f8348cf7b271fa0e204591143c71b9c3d38f0topaz-linux-aarch64.xz31,550,124 bytes SHA-256 60934e25610258c5c657d65a3fa38900bfa7676669270b5b1aa587b4005893aftopaz-linux-aarch64.br32,335,606 bytes SHA-256 101bc3d7248e6d0a2a8cd9a76e3e825b8e185a07919ef3995d35df8fffc95771 |
macOS Intel | topaz-macos-x86_64114,215,724 bytes SHA-256 d06ea083342000eb86239c4d595277e1dbe9622bfff5df7c64e5dd8d1b0c0969Compressed downloadstopaz-macos-x86_64.gz45,905,450 bytes SHA-256 f765c5d475c64de6825bda4acc15c36ad679491505acb15e1b32e2ec07d0e0d6topaz-macos-x86_64.xz33,365,840 bytes SHA-256 617186fea0ef1a3672cf9fe8709d8a61bdd3661d8c8220c01d42f27da7b1492atopaz-macos-x86_64.br33,228,979 bytes SHA-256 5227a4828aafce8b42e448a4f510826259cdcd331309f31f0541f9a1b446d74f |
macOS Apple silicon | topaz-macos-aarch6495,493,792 bytes SHA-256 d2e2b8d1fc3a5a7da20e296b70c7241331ba3e65e8c130475276f4e3049e1c01Compressed downloadstopaz-macos-aarch64.gz44,440,957 bytes SHA-256 db34c049f956a05b3213a693dc0756654f1d8d8420599a952ea659779f294869topaz-macos-aarch64.xz31,096,688 bytes SHA-256 0c1205319d1b840a49c42ec72bfca4f5bb1f9fff896947c71c4dea40954f9d37topaz-macos-aarch64.br31,812,741 bytes SHA-256 cb65fbf21574c18c7283f27c7641e600c7f3096dfdce752d1a9e017041cc0437 |
Windows x86_64 | topaz-windows-x86_64.exe158,483,456 bytes SHA-256 139c77cddee9e5d758824e0c9460f20779d4df2bee08f74145b83cbbd86aacf6Compressed downloadstopaz-windows-x86_64.exe.gz50,517,124 bytes SHA-256 515225f57052c87962aa5e296ce3bfdbbe6cfe2acf0dcddcbd57c01ea1629043topaz-windows-x86_64.exe.xz35,415,340 bytes SHA-256 083c48ef843b530425e643c489f792daefc26f6fb89a20d99bebd232ad9957catopaz-windows-x86_64.exe.br35,286,480 bytes SHA-256 2d016d872829b4668e220bc140b3e6298a90248cfa74fae6ddcb6a3d809399ea |
Check a file before you run it. On Linux, print its SHA-256 checksum with sha256sum.
sha256sum topaz-linux-x86_64On macOS, use shasum -a 256 topaz-macos-aarch64 with your file name. In PowerShell on Windows, use Get-FileHash.
Get-FileHash .\topaz-windows-x86_64.exe -Algorithm SHA256The 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.
mkdir -p ~/.topaz/bin
mv topaz-linux-x86_64 ~/.topaz/bin/topaz
chmod +x ~/.topaz/bin/topazThen 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.
openssl pkeyutl -verify -pubin -inkey topaz-release.pub -rawin -in checksums.txt -sigfile checksums.txt.sigOpenSSL 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
SHA-256 09e3bbe880cb3e8d05984576cb768e090f2f38ec96d866a62db96cf0a37a6b8bRead 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 version | Published | File |
|---|---|---|