Warning: a modern web browser is required to use this website.

We detected that you may have an out of date or unsupported web browser. This tool, like many others on this site and across the web uses features only available in new web browsers. We reccommend updating your current browser or downloading Firefox or Chrome.


Lospec Blender Toolkit

The Lospec Blender Toolkit is a free collection of tools for people making low-spec art in blender. This should help you use pixel art textures, generate pixelated renders, and more.

Various examples of the Lospec Blender Toolkit in use
Various examples of the Lospec Blender Toolkit in use
Version 2.0 | Release Notes

Browse creations with #LospecBlenderToolkit on Twitter or Instagram!

Current Features


How to Contribute | External Resources

How to Use

This entire toolkit is contained within a single blender file. You can use it in two ways:

Edit the .blend

Open the blend file and create your scene within it. This will include our tab layout and some scene presets (which you may or may not want), but it also means all of our tools will be contained in your .blend file, which will inflate the size.

Append parts of the .blend

You can also start with a blank scene (or one you've already started), and then append just the tools you need. To do this go to File > Append, then select the toolkit file. You will then see a list of folders: all the tools will be contained within the NodeTree folder, just select the ones you want.

No matter which way you do it, you'll still be able to add more copies of the tools by going to Add > Group and selecting the tool you want.


Click the Output Properties tab, and go to the Output section. You could select a video format, but it's reccomended you choose PNG instead. From the top menu click Render > Render Animation to begin rendering frames. When this is done, go to the output folder (by default it is C:/tmp). Open EZGif.com and select all the frames of your animation, then upload them. Adjust the frame delay time to match the frame rate of your animation in blender (we have it set to 24 fps, which is around 4 hundreths). Click make a gif and it will compile your frames into a gif, which you can download. You can also click resize to scale up your gif (use the gifsicle method). Lastly, if you're uploading to a place that doesn't allow gifs (like instagram), you may want to convert to video instead, which EZGif provides another tool for.


To see our examples of the toolkit in use, check out the examples folder!

Included Tools

File Setup

Some features included can only be accessed if you use the toolkit as a base for your art, and not if you append it. If you append the toolkit, you will have to set the settings manually (as described below).

Some features such as fixing blurry textures need to be done every time manually, even if you start with the toolkit.

By default the project is set to use Cycles, since it's required for the Material Index pass, which is used by the 8Mat Ditherer. Most other tools should still work if the rendering is set to Eevee.

Ditherer (Compositor)

Reduce the image to a single ramp of values with adjustable dithering amount. This will provide a black and white image, so you will then need to color it with a color ramp or similar node.

Example usage of Ditherer
Example usage of Ditherer

How to Use: Add this group to your compositing nodes and put the Image output from the render layers into it. Keep in mind the color of your object will affect it, so you most likely want to set the object's material color to white or gray.

8Mat Dither Combiner (Compositor)

Combine up to 8 different materials with separate palettes and dithering settings. Uses 8 Ditherer groups and splits the image up by the material indexes. This feature currently requires you use the cycles rendering engine.

Example usage of 8Mat Dither Combiner (super-monkey-balls.blend)
Example usage of 8Mat Dither Combiner (super-monkey-balls.blend)

How to Use:

  1. Under the material tab for each object, set the material of your objects to white or gray. Change the viewport display color if you wish.
  2. Set the "Pass Index" for each separate material to 1-8
  3. Enable Material Index pass under the View Layer Properties tab
  4. In the Compositor, add the 8Mat group, and hook the Image and IndexMA outputs from the Render Layer to the group (and then back to the composite output node)
  5. Render the image (so you can see what you're doing in the next steps)
  6. Select the 8Mat group and hit tab to enter it.
  7. Adjust the Color Ramps, Dithering Settings, and Lightness adjustments for each material. Any unassigned canvas space will use the first ramp.
  8. When you change a material index or anything in your scene, re-render the scene to update the compositor views.

You will most likely want to turn off anti-aliasing and denoising, especially if there are parts of your scene not processed by this tool.

Shadeless Material (Shader Editor)

Render textures without any lighting or shadows.

Example usage of Shadeless Materials (batman.blend)
Example usage of Shadeless Materials (batman.blend)

How to Use: Add this group to a material and plug in the color (and alpha if needed) from a texture node. Make sure to set the Texture Interpolation on the texture to "Closest" if you want sharp pixels. In order for alpha to work in Eevee, remember to change the blend mode to Alpha Blend under the material settings.

Billboard (Geometry Nodes)

Align a plane to perfectly face the camera, no matter the position. This is very similar to using a Track To constraint, but matches the camera rotation rather than pointing towards the middle of the camera, so it's oriented directly up and down.

Example usage of Billboard (carrots.blend)
Example usage of Billboard (carrots.blend)

This tool uses Geometry Nodes to adjust your objects rotation.

How to Use: Add geometry nodes to your plane, then add the Billboard group in between the geometry input and output. Select your camera in the camera slot.

Billboard Instance (Geometry Nodes)

Instance a set of image planes which always face the camera.

Example usage of Billboard Instancing
Example usage of Billboard Instancing

This tool uses Geometry Nodes to create a mesh with the instanced objects.

How to Use: Add geometry nodes to your ground plane (or other object which you want to spawn objects on), and add a node to generate points (such as Distribute Points on Faces). Connect those points to the Billboard Instance node, then choose the object you want to instance, and the camera object. Connect the output of that, and the input geometry, to a join geometry node, and plug that to the output.

Frame Animation (Shader Editor)

Animate a texture from a framestrip on a sprite sheet (rather than a series of separate files).

Example usage of a Frame Animation (girl-waving.blend)
Example usage of a Frame Animation (girl-waving.blend)

How to Use:First you must prepare a texture which contains all of your frames in a single row. Add the texture in your shader nodes, then add the Frame-Animation group, and plug the vector output to the textures vector input. Set the frame count, frame width, total sprite sheet width, and speed (eg 25% = 1 frame every 4 blender frames).

If you wish to offset the start times of multiple objects, connect the output from Randomize Start Times frame to the multiply node above it, replacing the connection from Frame.

If you wish to use an animation that is part of a larger sprite sheet, first you must enter the Frame Animation group, then disconnect the output of the Stretch Texture to Fit frame. You must then go into the UV editor and manually adjust the UV be exactly centered over your first frame.

Pixel Background (Compositor)

Insert pixel art behind your model, then scale or tile it. You can easily keyframe the offset properties to create a scrolling background.

Example usage of a tiling Pixel Art Background
Example usage of a tiling Pixel Art Background

How to Use: Connect your scenes's image and alpha to the foreground inputs. Then add a texture node with your background, and plug it into one of the background slots, depending how you want it to tile.

PS1 Vertex Jitter (Geometry Nodes)

Makes vertexes snap to rounded amounts (which looks like jittering while movment), in order to emulate the graphics rendering of the Sony Playstation. This doesn't work identically to the playstation, but to most viewers it will appear to. Combine with pixelated textures and a low resolution.

Example usage of PS1 Vertex Jitter (jitter-monkey.blend)
Example usage of PS1 Vertex Jitter (jitter-monkey.blend)

How to Use: Add the PS1 Vertex Jitter group at the end of your geometry node network.

Unscaled Billboards (Geometry Nodes) [EXPIRIMENTAL]

Scale a billboard (or set of billboards) so it is the same size no matter where it is on your screen, typically so the size makes it exactly 1x on the final render, withouth an orthographic camera.

Example usage of unscaled billboards (atom.blend)
Example usage of unscaled billboards (atom.blend)

WARNING: This feature is still in development, and is not perfect. While it can be used, it still requires some manual adjustments, and the results still exhibits some slight stretching and skewing of pixels. If you figure out a solution to this, please contribute to the github or contact us!

How to Use: Add geometry nodes to your plane, then add the Billboard group in between the geometry input and output. Select your camera. Do a test render and then adjust the scale until the plane renders at the same size as your texture on the final output. You can calculate the correct scale by measuring the size of the plane in your render, then dividing your target texture size by that number. Then multiply that by your current Scale value, and now when you render it should be pretty close. You may wish to do some tests and minor adjustments by hand to perfect it.

How To Contribute

The Lospec Blender Toolkit is "open source" (well obviously, the source is just the .blend file), but that means we accept public contributions to the project through GitHub.

If you are interested in contributing, please check out the source on GitHub, or start a conversation on the Lospec Discord


External Resources

Here are some links to external resources which may help you in your blendering: