whatisgithub

What is ar.js?

jeromeetienne/ar.js — explained in plain English

Analysis updated 2026-06-24

15,807HTMLAudience · developerComplexity · 3/5Setup · moderate

In one sentence

An archived browser-based augmented reality library for marker and location AR, active development has moved to AR-js-org/AR.js with image tracking added.

Mindmap

mindmap
  root((AR.js))
    Inputs
      Camera feed
      Marker images
      GPS coordinates
    Outputs
      3D overlay on video
      Browser AR scene
    Use Cases
      Build a marker AR demo
      Place AR content at GPS points
      Embed AR in a website
    Tech Stack
      JavaScript
      WebGL
      three.js
      A-Frame
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a marker-based AR demo that overlays a 3D model on a printed image

USE CASE 2

Create a location-based AR tour that shows content at fixed GPS coordinates

USE CASE 3

Embed an AR scene in an existing website using A-Frame tags

USE CASE 4

Migrate an old AR.js page to the maintained AR-js-org fork

What is it built with?

JavaScriptWebGLthree.jsA-Frame

How does it compare?

jeromeetienne/ar.jshtr-tech/zphishertc39/ecma262
Stars15,80715,94415,625
LanguageHTMLHTMLHTML
Setup difficultymoderateeasymoderate
Complexity3/52/54/5
Audiencedeveloperops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Original repo is archived, use AR-js-org/AR.js instead. Needs HTTPS for camera access in browsers.

So what is it?

AR.js is a lightweight JavaScript library that brings augmented reality (AR), the technology that overlays digital content on top of a real-world camera view, to web browsers. Instead of requiring users to download a dedicated app, it works directly in a browser on phones and computers. The library supports two main types of AR: marker-based AR, where a physical printed image or pattern is recognized by the camera and a 3D object appears on top of it, and location-based AR, where digital content is placed at specific geographic coordinates and appears when you point your camera in that direction. The README notes the library was known for running at 60 frames per second on mobile devices, making it feel smooth. This particular repository is the original version, which is no longer maintained or updated. The project has moved to a community-maintained organization at AR-js-org/AR.js, where new features including image tracking have been added and documentation has been improved. The original repository is kept available so that existing links and content delivery network (CDN) references continue to work, but all new development, issues, and contributions should go to the new location. You would use AR.js (via the new repository) if you want to add augmented reality experiences to a website without requiring users to install an app. It is aimed at web developers building AR experiences using standard browser technologies.

Copy-paste prompts

Prompt 1
Set up the AR-js-org fork of AR.js and build a Hello World marker AR page that runs on my phone browser
Prompt 2
Convert a marker AR scene to use image tracking with a custom photo instead of a Hiro marker
Prompt 3
Build a location-based AR experience that drops a 3D arrow at a GPS coordinate near me
Prompt 4
Help me port a page built on jeromeetienne/AR.js to the new AR-js-org/AR.js library

Frequently asked questions

What is ar.js?

An archived browser-based augmented reality library for marker and location AR, active development has moved to AR-js-org/AR.js with image tracking added.

What language is ar.js written in?

Mainly HTML. The stack also includes JavaScript, WebGL, three.js.

How hard is ar.js to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ar.js for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.