Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


    A-Frame Spritesheet Component

    Animated spritesheet support for A-Frame.

    Demo / Using spritesheets

    Spritesheets are a common way to play pre-rendered animation. This component allows you to load up a spritesheet image to an a-image element and easily control its animation. It allows usage of two types of spritesheet formats:

    Rows and Cols

    A grid representing all frames of the animation. All of the frames must be of the same dimensions, and the animation index is assumed to be scanned left to right, top to bottom. If your last frame is not the one on the bottom right, you'll have to specify the index of the last frame using the lastFrame property.

    JSON data format

    The spritesheet image file can be made more compact by using a dictionary automatically generated with TexturePacker. This will help reduce file size.


    Install and use by directly including the browser files:

      <title>My A-Frame Scene</title>
      <script src=""></script> 
      <script src=""></script> 
        <!-- rows/cols format-->
        <a-image src="spritesheet.png" sprite-sheet="cols:8; rows: 3; progress: 0;"></a-image>
        <!-- json format -->
        <a-image src="spritesheet.png" sprite-sheet="dataUrl: spritesheet.json; progress: 0;" ></a-image>


    Install via npm:

    npm install aframe-spritesheet-component

    Then require and use.



    Property Description Default Value
    progress A value between 0 and 1 that represents animation progression. the index of the animation frame is calculated from this attribute. Used if no frameIndex or frameName specified 0
    frameIndex Explicit index of the animation frame to use. Used if no frameName specified null
    frameName Explicit name of the animation frame to use, if using dataUrl null
    cols number of cols in the spritesheet image (not needed if using dataUrl) 1
    rows number of rows spritesheet image (not needed if using dataUrl) 1
    firstFrame index of the first frame of the animation, ordered left to right starting at the first row 0
    lastFrame index of the last frame of the animation, ordered left to right starting at the first row . If not specified and not using the JSON format, value is rows * cols - 1 null
    cloneTexture if using separate instances of the same image, set this to true false
    dataUrl If using a JSON format, url pointing to the json file null


    Walking pig sprite taken from, under a Public Domain Dedication license.

    Interesting bit of Trivia: Tiny Speck, the company behind the now-defunct Glitch game is now actually Slack!


    Developed by Opher Vishnia of Eko


    Apache 2


    npm i @ekolabs/aframe-spritesheet-component

    Downloadslast 7 days








    last publish


    • avatar
    • avatar