Efficient way to replicate “confetti” effect for repeated use

I have several “confetti” images that I want to take the design and create a method so I can replicate it as a fill I can apply to shapes/outlines.

Here’s an example of the source image.

enter image description here

I’m not set on Illustrator or Photoshop, pretty much whatever I can use to do this efficiently.

I’m trying to avoid manually cutting out each circle.


The issue is setting-up the initial pattern so it has layering and the color-variation.

I’ve looked into some Illustrator scripts to randomize fill color and randomize ordering but this means that I’d have to extract each color circle and save it as a symbol for it to be of use.

I was considering using Jongware’s CircleFill script to generate circles and then apply styles but then there is the issue of ordering and layering plus color randomness to account for.

I have access to Astute plugins now but I’m VERY new to learning them so I’m not sure if any of them can help me.


  1. I’ve started tinkering with “seed pods” of circles that I apply a random transform each command to. My issue now is that I have to create a lot of variations. Is there a more efficient way to create these and then splice them all together?


You can use raster images in various layers and colors along with the Illustrator “Object Mosaic” feature. Once you have your object turned into many colorized squares by Illustrator automatically, you can ungroup everything and apply a rounded corner effect or appearance to make each square into a circle. Also you can use the convert-to-shape or various fill transforms in the appearance palette to effectively turn each little square into virtually any shape you desire by using graphic styles.

But, work will not be over yet as there’s the randomization /swarming to account for. In order to accomplish this you can once again act on the ungrouped individual selected items via the Transform Each command. Transform Each has a ‘randomize’ checkbox and can help you randomize x,y change in position, vertical and horizontal scaling and rotation. While xy changes are obvious, rotation may be helpful if you choose to incorporate gradients or brushes or patterns upon your circles, this way the round shape can be rotated and provide more variety with the contents of the circles having a visual distinction such as what you can barely see in your sample image where a pale line runs through the circles at different angles.

And here’s the stacking order snippet.

#target illustrator
function test(){
    function shuffle(a) {
      var j, x, i;
      for (i = a.length - 1; i > 0; i--) {
        j = Math.floor(Math.random() * (i + 1));
        x = a[i];
        a[i] = a[j];
        a[j] = x;
    var doc = app.activeDocument;
    var s = doc.selection;
    var arr = [], thisItem;
    for (var i = 0; i < s.length; i++) {
        thisItem = s[i];
    doc.selection = null;
    for (var i = 0; i < arr.length; i++) {
        thisItem = arr[i];
        thisItem.move(doc.layers[0], ElementPlacement.PLACEATBEGINNING);

enter image description here

enter image description here

enter image description here

Source : Link , Question Author : Ovaryraptor , Answer Author : Silly-V

Leave a Comment