Skip to content
@webarkit

WebAR Kit

WebAR Kit a new place for the development of the WebAR of tomorrow

Hi there 👋

Welcome to WebARKit !!

🖼️ WebARKit

A new place for the development of the WebAR of tomorrow.

Open-source WebAR tooling — from historical tracking in C/C++ to pure-Rust, WASM-first computer vision.

Website Twitter contact@webarkit.org


🙋 Who we are

We are a group of developers passionate about Web Augmented Reality. We believe open source makes a difference: we build libraries for marker-based and markerless (NFT) tracking directly in the browser, without plugins, using WebAssembly.

Our work covers the entire stack: from historical bindings based on ARToolKit to a new generation of pure-Rust libraries, designed to be lightweight, portable (including no_std), and performant on WASM.


🚀 Main Projects

New Generation (Rust / WASM)

Project Description
PureCV Computer vision library in pure Rust, without FFI dependencies, designed for the WASM target. On the roadmap: Feature detection (TEBLID, FREAK, StarDetector/CenSurE) and matching (BFMatcher, GMS filtering), with experimental no_std support under evaluation.
WebARKitLib-rs Rewrite of the WebAR tracking library in Rust, a direct successor to WebARKitLib/ARToolKit5, designed to compile efficiently to WASM.
jsfeatNext TypeScript version of jsfeat, with type definitions, used as a computer vision layer on the JS/TS side.
webarkit 🚧 Proposed. Organization's central repo: will host the shared CV contract (@webarkit/cv-backend-spec), making jsfeatNext and PureCV backends interchangeable for a future high-level AR project.

Historical Library (C/C++)

Project Description
WebARKitLib The C/C++ source code for WebARKit, based on ARToolKit5 and extended with new features (SIMD, logging, improved tracking).
webarkit-cv WebARKit compiled via Emscripten/OpenCV: the bridge between the C++ library and the browser.

Markerless / NFT tracking

Project Description
ARnft Lightweight JavaScript library for WebAR with markerless tracking (NFT), based on jsartoolkitNFT, with rendering via three.js.
jsartoolkitNFT A stripped-down version of jsartoolkit5, focused exclusively on NFT (Natural Feature Tracking) support.

🧭 Where we're going

The current focus is migrating to a pure-Rust, FFI-free stack, with particular attention to:

  • 📦 WASM binary size control
  • 🔧 no_std compatibility (embedded target, e.g., ESP32)
  • ⚡ SIMD performance on WASM
  • 🧩 API consistency across different repositories

On the C/C++ side, work hasn't stopped: recent tracking improvements (first-frame robustness, marker-centered origin option) and the OpenCV/Emscripten pipeline update are keeping the historical foundation solid as the Rust stack matures.

🚧 In discussion: A proposal for a monorepo hosting a shared CV contract (@webarkit/cv-backend-spec) is open in the webarkit repo, making jsfeatNext and PureCV interchangeable backends behind the same interface, ready to be consumed by a future high-level AR project. The status is still draft, open to discussion about the monorepo structure and package names.

🤝 Contribute

Pull requests are welcome! Check out the open issues in the individual repositories—many are labeled good first issue or help wanted. For general questions, you can email us at contact@webarkit.org or visit webarkit.org.

Pinned Loading

  1. ARnft ARnft Public

    A small javascript library for WebAR with NFT

    TypeScript 235 50

  2. jsartoolkitNFT jsartoolkitNFT Public

    jsartolkitNFT is a smaller version of jsartoolkit5 with only NFT support

    JavaScript 137 24

  3. purecv purecv Public

    A pure Rust computer vision library focusing on the core and imgproc modules of OpenCV.

    Rust 24 1

  4. WebARKitLib-rs WebARKitLib-rs Public

    Rust version of the WebARKitLib

    Rust 6 3

  5. WebARKitLib WebARKitLib Public

    The source code of WebARKit

    C++ 21 8

  6. webarkit-testing webarkit-testing Public

    Testing a new version of WebARKit

    JavaScript 2

Repositories

Showing 10 of 33 repositories

Top languages

Loading…

Most used topics

Loading…