
Security News
Open VSX Begins Implementing Pre-Publish Security Checks After Repeated Supply Chain Incidents
Following multiple malicious extension incidents, Open VSX outlines new safeguards designed to catch risky uploads earlier.
@webarkit/nft-marker-creator-app
Advanced tools
NFt Marker Creator based on WebARKitLib, ported thanks to Emscripten
This editor creates NFT markers for WebARKitLib and ARTOOLKIT 5.x, they are compatible with jsartoolkitNFT.js, jsartoolkit5.js, artoolkit5.js, ARnft.js and AR.js. A Node app is provided.
This project is based on the original NFT Marker Creator by Carnaux but has been updated to work with the latest versions of Node and NPM, and also to work with the latest version of Emscripten, plus other improvements.
Now with threading support!! Read more in Run the app section
cd src
node NFTMarkerCreator.js -i PATH/TO/IMAGE --threaded <number_of_threads>
Example:
cd src
node NFTMarkerCreator.js -i pinball.jpg --threaded 8
Outputs land in src/output. See the sections below for setup, flags, and optional demo steps.
.nvmrc) and npm 10+NFTMarkerCreator.js and build/ bundle from the GitHub Releases page).nvm installnvm use 20npm installsrc folder (either directly or inside a subfolder). cd src
node NFTMarkerCreator.js -i PATH/TO/IMAGE
Example:
cd src
node NFTMarkerCreator.js -i pinball.jpg
The output files are saved in the src/output directory. Use --threaded <count> to speed up processing; start with the number of physical CPU cores and adjust based on thermals and available memory (e.g., laptops may peak at 4 threads, workstations can push higher):
cd src
node NFTMarkerCreator.js -i PATH/TO/IMAGE --threaded <number_of_threads>
Example:
cd src
node NFTMarkerCreator.js -i pinball.jpg --threaded 4
Example: node NFTMarkerCreator.js -i image.png -level=4 -min_thresh=8
| Flag | Description | Default |
|---|---|---|
-zft | Create only the .zft file | — |
-noConf | Skip the confidence confirmation prompt | — |
-Demo | Generate the demo configuration alongside the marker | — |
-level=n | Feature density preset from 0 (few) to 4 (many) | 2 |
-sd_thresh=<value> | Override standard deviation threshold | Auto |
-max_thresh=<value> | Override maximum feature threshold | Auto |
-min_thresh=<value> | Override minimum feature threshold | Auto |
-leveli=n | Initial feature density preset from 0 to 3 | 1 |
-feature_density=<value> | Manual feature density multiplier | Auto |
-dpi=f | Force a DPI value instead of the embedded JPEG DPI | Image metadata |
-max_dpi=<value> | Cap the maximum DPI processed for multi-scale markers | Auto |
-min_dpi=<value> | Floor the minimum DPI processed for multi-scale markers | Auto |
-background | Run detached in the background (macOS/Linux only) | — |
--help, -h, -? | Print CLI usage information | — |
--threaded <n> | Run feature extraction using n threads | 1 |
-nofset / -fset | Disable or force generation of the .fset file | Enabled |
-nofset3 / -fset3 | Disable or force generation of the .fset3 file | Enabled |
npm run demo-Demo to the marker command to generate demo assets automatically: node NFTMarkerCreator.js -i image.png -DemoThe library is built with Emscripten and is located in the build folder. It is an ES6 module and can be imported in your project.
<script type="module">
import nftMC from '../build/NFTMarkerCreator_ES6_wasm.js';
const mc = await nftMC();
</script>
First, you need docker installed in your system, if you haven't, follow the Docker engine installation instruction . Then inside the folder you want to run the docker image:
Linux/macOS:
docker run -dit --name nft-app -v "$(pwd):/src" webarkit/nft-marker-creator-app:0.2.5 bash
Windows (PowerShell):
docker run -dit --name nft-app -v "${PWD}:/src" webarkit/nft-marker-creator-app:0.2.5 bash
With the docker container generate the NFT marker:
docker exec nft-app node ../Nft-Marker-Creator-App/src/NFTMarkerCreator.js -I /src/pinball.jpg
remember to prepend the -I /src/<path to your image>
Build emscripten files with docker:
Linux/macOS:
docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) -e "EMSCRIPTEN=/emsdk/upstream/emscripten" emscripten/emsdk:3.1.69 npm run build-local
Windows (PowerShell):
docker run --rm -v "${PWD}:/src" -e "EMSCRIPTEN=/emsdk/upstream/emscripten" emscripten/emsdk:3.1.69 npm run build-local
or better create a docker container and run the build command inside it:
Linux/macOS:
docker run -dit --name emscripten-nft-marker-creator-app -v $(pwd):/src emscripten/emsdk:3.1.69 bash
docker exec emscripten-nft-marker-creator-app npm run build-local
Windows (PowerShell):
docker run -dit --name emscripten-nft-marker-creator-app -v "${PWD}:/src" emscripten/emsdk:3.1.69 bash
docker exec emscripten-nft-marker-creator-app npm run build-local
In VSCode you can run the setup-docker and build-docker command inside package.json.
FAQs
NFt Marker Creator based on WebARKitLib, ported thanks to Emscripten
We found that @webarkit/nft-marker-creator-app demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Following multiple malicious extension incidents, Open VSX outlines new safeguards designed to catch risky uploads earlier.

Research
/Security News
Threat actors compromised four oorzc Open VSX extensions with more than 22,000 downloads, pushing malicious versions that install a staged loader, evade Russian-locale systems, pull C2 from Solana memos, and steal macOS credentials and wallets.

Security News
Lodash 4.17.23 marks a security reset, with maintainers rebuilding governance and infrastructure to support long-term, sustainable maintenance.