# jeromeetienne/ar.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/jeromeetienne-ar-js).**

15,801 stars · 2,211 forks · HTML · MIT

## Links

- GitHub: https://github.com/jeromeetienne/AR.js
- awesome-repositories: https://awesome-repositories.com/repository/jeromeetienne-ar-js.md

## Topics

`a-frame` `three-js` `webar`

## Description

AR.js is a web-based augmented reality framework used to create immersive experiences directly in a browser using WebGL and WebRTC. It provides a cross-platform runtime that executes on mobile devices and head-mounted displays without requiring a dedicated application installation.

The framework includes a marker-based engine for detecting physical patterns or barcodes to anchor digital overlays, a location-based tool for positioning entities via GPS coordinates, and a face tracking library for anchoring content to human facial features. It supports multi-marker simultaneous tracking, custom marker generation, and the simulation of user positions for testing geospatial experiences.

The system integrates with WebVR and WebXR for head-mounted display support and utilizes background worker threads to optimize marker detection performance. It also includes utilities for monitoring camera hardware states and video stream initialization.

## Tags

### Artificial Intelligence & ML

- [Augmented Reality Frameworks](https://awesome-repositories.com/f/artificial-intelligence-ml/augmented-reality-frameworks.md) — Serves as a comprehensive framework for building augmented reality experiences directly in the web browser.
- [Facial Feature Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/development-orchestration-tools/computer-vision-libraries/camera-tracking/facial-feature-tracking.md) — Provides real-time tracking of facial landmarks to anchor digital content to a user's head.
- [Face Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/computer-vision-systems/computer-vision/facial-analysis-systems/face-tracking.md) — Implements a computer vision library for detecting and following human facial features to anchor digital content.
- [Marker Detection](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-pose-management/ar-spatial-trackers/marker-detection.md) — Detects physical patterns or barcodes via a camera stream to anchor virtual content in real-world environments. ([source](http://jeromeetienne.github.io/slides/artoolkit-aframe/))
- [Marker-Based Overlays](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-pose-management/ar-spatial-trackers/marker-visualization/marker-based-overlays.md) — Overlays digital objects onto a real-world view by detecting specific visual markers. ([source](https://jeromeetienne.github.io/AR.js-docs/misc/EXAMPLES.html))
- [Fiducial Marker Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/visual-pattern-matching-engines/fiducial-marker-tracking.md) — Identifies physical markers in video feeds by analyzing contrast and geometric shapes to determine pose.
- [Multi-Marker Environment Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-pose-management/ar-spatial-trackers/marker-detection/multi-marker-environment-tracking.md) — Monitors multiple markers across a wide area to provide more stable tracking than single-marker detection. ([source](https://github.com/jeromeetienne/AR.js/blob/master/CHANGELOG.md))
- [Performance Optimizations](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-pose-management/ar-spatial-trackers/marker-detection/performance-optimizations.md) — Optimizes marker detection by offloading heavy image processing to background worker threads. ([source](http://jeromeetienne.github.io/slides/artoolkit-aframe/))
- [Simultaneous Multi-Marker Tracking](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-pose-management/ar-spatial-trackers/marker-detection/simultaneous-multi-marker-tracking.md) — Detects and tracks several distinct markers simultaneously to anchor multiple independent digital objects. ([source](https://jeromeetienne.github.io/AR.js-docs/misc/EXAMPLES.html))
- [Marker Image Generation](https://awesome-repositories.com/f/artificial-intelligence-ml/spatial-pose-management/ar-spatial-trackers/marker-image-generation.md) — Converts uploaded images into trackable markers with customizable borders and sizes. ([source](https://jeromeetienne.github.io/AR.js/three.js/examples/marker-training/examples/generator.html))

### Web Development

- [Browser-Based AR Runtimes](https://awesome-repositories.com/f/web-development/browser-based-ar-runtimes.md) — Executes augmented reality content on any device and browser supporting WebRTC and WebGL. ([source](https://jeromeetienne.github.io/AR.js-docs/misc/FAQ.html))

### Part of an Awesome List

- [AR Content Anchoring](https://awesome-repositories.com/f/awesome-lists/data/gps-positioning/ar-content-anchoring.md) — Positions virtual objects at real-world latitude and longitude coordinates for location-based augmented reality. ([source](https://github.com/jeromeetienne/AR.js/blob/master/CHANGELOG.md))

### Graphics & Multimedia

- [Camera Stream Integration](https://awesome-repositories.com/f/graphics-multimedia/camera-stream-integration.md) — Captures real-time video streams from device hardware to provide visual input for tracking algorithms.
- [Geospatial Coordinate Mapping](https://awesome-repositories.com/f/graphics-multimedia/geospatial-coordinate-mapping.md) — Calculates relative distance and orientation between device coordinates and geographic points to position virtual objects.
- [GPS-Based Content Positioning](https://awesome-repositories.com/f/graphics-multimedia/gps-based-content-positioning.md) — Provides tools to position digital objects at specific real-world GPS coordinates.
- [WebGL & GPU Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/webgl-gpu-rendering.md) — Uses a hardware-accelerated graphics pipeline to render 3D digital overlays on top of live video.
- [Location-Based AR Tools](https://awesome-repositories.com/f/graphics-multimedia/location-based-ar-tools.md) — Includes a geographic positioning system for placing digital entities at specific GPS coordinates.
- [Custom AR Markers](https://awesome-repositories.com/f/graphics-multimedia/custom-ar-markers.md) — A feature of the product to create unique pattern markers or codes from images to serve as triggers for augmented reality experiences. ([source](https://cdn.jsdelivr.net/gh/jeromeetienne/ar.js@master/README.md))
- [Digital Face Filters](https://awesome-repositories.com/f/graphics-multimedia/digital-face-filters.md) — Detects human facial features in real time to anchor digital masks and visual effects.
- [Head-Mounted Display Integration](https://awesome-repositories.com/f/graphics-multimedia/head-mounted-display-integration.md) — Displays augmented reality content within virtual reality environments to support head-mounted displays. ([source](https://jeromeetienne.github.io/AR.js-docs/misc/EXAMPLES.html))
- [WebXR Integrations](https://awesome-repositories.com/f/graphics-multimedia/immersive-interactive-systems/immersive-computing/webxr-integrations.md) — Integrates with WebXR to support AR content on mobile devices and head-mounted displays.

### Hardware & IoT

- [Spatial Orientation Tracking](https://awesome-repositories.com/f/hardware-iot/inertial-measurement-unit-interfaces/spatial-orientation-tracking.md) — Determines device pointing direction by combining GPS position with rotation data. ([source](https://github.com/jeromeetienne/AR.js/blob/master/aframe/README.md))

### Software Engineering & Architecture

- [AR Runtimes](https://awesome-repositories.com/f/software-engineering-architecture/cross-platform-runtimes/ar-runtimes.md) — Provides a cross-platform runtime that enables AR experiences to run on mobile browsers and HMDs.
- [Image Processing Offloading](https://awesome-repositories.com/f/software-engineering-architecture/worker-thread-patterns/image-processing-offloading.md) — Offloads heavy image processing and pattern matching to background threads to maintain high performance.

### User Interface & Experience

- [AR](https://awesome-repositories.com/f/user-interface-experience/content-rendering-components/image-overlays/ar.md) — Provides a system to scan physical images via camera and overlay digital content in real time.
