Turntable Flash Viewer

The JS Turntable Viewer is a flash based application, suitable to embed rendered image sequences with turntables of 3D models or 3D sculpts on web pages.

Turntable Viewer v2

The Viewer can handle both a single turntable or a gallery of turntables.

The Turntable Viewer in action

Main Features

  • Loads rendered jpg/png/gif image sequences.
  • Loads AS3 compiled SWF files as containers for image sequences.
  • Built in gallery to select between several turntables.
  • Create custom themes for the interface of the viewer.


All documentation of how to use the Turntable Viewer is included in the download archive. Documentation.htm contains all available configuration settings you can use to customize the viewer, using image sequences and how to setup a XML file for a gallery of turntable clips.

In the example folder I've included example.htm together with a few turntable clips that showcases four different implementations of the viewer embedded in one page. Take a look at that file to see how to apply the information contained in the Documentation.htm in the different scenarios.

The viewer allows you to change the colors of the interface through the configuration settings, if you want to customize it further, take a look in the theme folder in the archive. There you'll find a template theme flash document which you can use as a starting point to completely design your own look for the viewer, using your own graphics.


Available downloads for the Turntable Viewer.

Latest Release

Older Releases

Source Code

JS Turntable Viewer is released as an open source project under the new BSD License. The project is hosted on GitHub where the repository can be browsed or forked.

Or use git to clone the repository with complete history:

git clone git://github.com/artstorm/turntableviewer.git


I'm very interested in your contributions... What else deserves to be in this viewer? How can it be improved? Coders, feel free to fork the repository, make any updates and then send me a pull request. Non-coders, submit a request in the issue tracker.


There is no official support, but if you run into any problems, bugs or have feature requests you can file a report in the appropriate section in the official trackers for the project.

Submit a Turntable Viewer ticket


The development history of the Turntable Viewer.

Version 2.1 - 9 Mar 2010

  • Updated the examples to use swfobject v2.2.
  • Updated the examples to use swfobject's dynamic publishing method instead of static publishing.
  • Note: As this was an update to include an easier way to embed the viewer, the version when right clicking the viewer still says v2.0.

Version 2.0 - 21 Sep 2009

  • Rewrote the entire application architecture from scratch to be fully object oriented for easier additions of new features.
  • Implemented a loader for jpg/png/gif image sequences.
  • Implemented a theme option to create a custom theme for the viewer.
  • Updated the default theme.
  • Added different stretching modes for the turntable clip when it differs from the viewer size.
  • Implemented an error handling system, which should be helpful when configuring the viewer for the first time.
  • Changed the config format for the XML/FlashVars settings.
  • Changed the gallery XML format when creating a gallery of turntable clips.
  • Changed the loading behavior to progressively display the turntable while buffering.
  • Changed the license agreement, which now allows it to be used commercially.

Version 1.1 - 18 Aug 2009

  • First public release.
  • Implemented a config class to be able to customize the colors for the turntable controller in an external XML file.

Version 1.0 - 13 Jan 2009

Discuss this article

The conversation has just started. Comments? Thoughts?

I'm on Twitter and Mastodon, or come to the Discord server and hang out.

Sign up to the newsletter to get occasional emails about my game development.

Legacy comments

  • Kuroto Robert Sep 13, 2010
    Wow, this is a really impressive little app you have there. It's very generous of you to give it to other people as well, thank you. I will take a look at it and most likely use if for any turntable needs I might have in the future.
    Seems very practical to be able to manually manipulate the view and look where you want to.

  • Diego Armando Sep 15, 2010
    Wow, this is just one of the most great things I've ever seen, and you are sharing it for free! Man, I love the way you think, but actually I don't know how to change the things to use my own images, I already took the images I want but I don't know how to use your application. Anyways thanx
  • Augusto Venturi Sep 18, 2010
    I think that I will make an extensive use of your plugin: thank you very much!
  • Max Oct 16, 2010
    This is a really great tool you have made! Many thanks!
  • Arron Oct 27, 2010
    Hey, Thankyou very much for this, I was searching for ages to find a way of doing it and you made it so simple. However, is there a way to make it load more than 30 frames? I have a round 200 I need to input but cannot find a way to do so. Thanks again!
    • Johan Oct 27, 2010 reply to Arron

      Well there isn't a set value of how many frames to load. If you are using an image sequence, it will continue loading frames until no more can be found in the sequence. Ie, if you have images starting at somename_00001.jpg going to somename_00200.jpg it will load all 200 frames.

  • Arron Oct 27, 2010
    Hey Johan, Thankyou for your quick reply. Unfortunately it doesn't seem to be the case. I have all my files labelled from Chest_Anim0000.jpg to Chest_Anim0225jpg. It seems to stop at Chest_Anim0100.jpg. I can't think as to what must be causing this. I shall playa round with it some more. Many thanks again, extremely useful for my work.
  • a.lahdouri Oct 15, 2011
    Hi Johan;
    thank you for this cool and very useful application.
    it worked fine with the pictures, but I have one small problem, when I use an SWF file there is no more control here is a link to my problem:
    can you help me please.
  • Darroch Nov 10, 2011
    Wow, I just wanted to say thank you for this great app, im tinkering with it at the moment and hope to make it a part of my site very soon :)

    Thank you,