8 Places to Get NPC and Crowd Art for a 2D Game
Ranked on cost per character at acceptable fidelity, not on quality, because a background character does not need what the player character needs.
A background character is not a small hero. It gets seen from a distance, for a few seconds, by a player looking at something else. It needs one idle, one facing, and a shape that confuses nobody. Buy it as though it were the player character and you pay hero prices twelve times over for art nobody examines.
This page lists eight places to get art for the characters who are not the player: shopkeepers, guards, quest givers, the bodies in a market square. It is for a solo developer or a programmer who can ship a 2D game and cannot draw.
The ranking is not by quality. These eight are ranked by cash cost per character at acceptable fidelity, where acceptable is set by how long the player looks. The paired article on tiering an NPC art budget makes the case: most art budget overruns come from forgetting that a background character needs less than a hero, because no document said so.
Disclosure: this is the blog of Makko, an AI-powered 2D game art studio, and Makko is one of the eight entries. Prices are as of September 2026, read off each vendor's own page.
The short version. If you own the layered source for a character already in your game, entry 1 is the cheapest crowd here: a palette edit per body, three appearances per base. Otherwise start at entry 2, Kenney's CC0 sets, free commercially with no attribution. The usual objection, that the same figures turn up in other games, lands far more softly on a market square body than on a hero. For thirty NPCs that must look like one game, entries 6 and 7 are the only ones whose cost falls as the cast grows.
How these were picked
Five criteria, in the order they cost you money.
- Cash cost per character. Not the sticker price: a $15 subscription across forty NPCs and the same $15 across four are different purchases.
- License cost per character. Reading and recording terms is labor. One license for everything beats a different license per file, and the gap widens with every body.
- Output control. Whether you choose what the character looks like or accept what exists.
- Consistency across a set. Whether NPC 20 belongs in the same game as NPC 1.
- Pipeline fit. Whether it drops into your engine at your cast's canvas height and ground line.
One criterion is deliberately absent: detail. Fidelity is safe to cut to the floor for a crowd. Silhouette clarity is not.
1. Recolor and reuse a base you already own
Built for filling a space with bodies that already match your game, because they came from it. Edit the accent color on a character you hold the layered source for and place the result. No new animation, no new sheets, no new engine states. Cost: a palette edit. Nothing here is cheaper per body.
The catch is arithmetic, not licensing. One base supports about three appearances, base plus two recolors, and only when no two share a shot. Past three it reads as cheap: players recognize gait before color at play distance, so two bodies on one walk cycle read as one person in different clothes. At the limit change the shape instead, with a hat or a pack.
Pick this if you have layered sources and can scatter the crowd across rooms. Do not pick this if the recolors share a shot or a variant speaks.
2. Kenney's CC0 asset sets
Kenney publishes large sets of game assets into the public domain under CC0, alongside some paid bundles. CC0 means free commercial use with no attribution required. Cost: nothing. License cost per character: also nothing, the part other lists undersell. One license covers the whole set, so the twentieth body costs no legal reading.
The catch: the same figures appear in a lot of games, and people who play a lot of small games recognize them. For a hero that is disqualifying. For a crowd it matters much less, and saying so plainly is the useful part. A player who spots a familiar body in the third row of a market square has spotted a familiar body in the third row of a market square. Spend the recognition budget on characters they remember.
Pick this if the crowd is genuinely background and the style can share a scene with your cast. Do not pick this if an NPC has dialogue, a name or a quest marker, which promotes it out of crowd tier.
3. OpenGameArt
OpenGameArt is a community asset library. Contributors upload under mixed licenses, so each asset has to be checked individually before it ships commercially. Cost: free.
License cost per character: real and repeating. One asset with terms to read is a five minute job. Twenty assets from twenty contributors, each with its own license and attribution requirement, is an afternoon plus a credits file to maintain plus a file you will forget to check. Price that afternoon in and this stops being free the way CC0 is.
Pick this if you need a few specific bodies and will record each license at download time. Do not pick this if you are sourcing a whole crowd.
4. Draw simplified crowd figures yourself in a free editor
Built for the developer who cannot draw a hero and does not have to. A crowd body at play distance is a shape, two or three values, and an idle that moves a few pixels. Cost: zero in cash. Krita, Pixelorama and LibreSprite are free and open source, and Piskel is a free pixel editor in a browser or on the desktop. Aseprite is a paid one-time purchase sold on Steam and itch.io.
The real cost is hours, and hours do not amortize the way a subscription does. Body six takes about as long as body two, so this sits at 4 rather than 1 once a programmer's time is counted. The hours buy total output control and exact consistency with your own cast.
Pick this if the crowd is small and your style is simple. Do not pick this if the cast is thirty bodies, since quality drifts across them.
5. itch.io asset packs
itch.io is a marketplace where many independent creators sell and give away game assets. Licenses vary per listing and must be checked per asset. Cost: per pack, set by the creator. Cost per character drops sharply when one pack holds the crowd you need, and rises when you buy three packs to assemble one.
License cost per character: per listing, with one difference from entry 3. A pack is one listing, so twelve bodies from one pack is one license and twelve from six creators is six. Buy packs, not files.
Pick this if one pack covers most of the crowd. Do not pick this if no single pack covers the roles you need, since the assembled result costs more per body and looks like four games.
6. AI generation with Scenario or Leonardo.Ai
Both are image generation platforms on credit or token plans, so cost per character falls as the cast grows. This is the first entry where thirty bodies cost less per body than five.
Scenario has a free tier of 50 free daily credits with no credit card required, and free plan outputs are for personal and evaluation use only, so the free tier does not ship in a game you sell. Starter is $15/mo for 1,500 monthly credits, single user, with private generations. Pro is $45/mo for 5,000 monthly credits and custom model training. All paid plans include a full commercial license, and annual billing is stated as 33% cheaper than monthly.
Leonardo.Ai has a $0/mo free tier with 150 fast tokens per day, and on that tier creations are public, a term to check before generating a cast you intend to reveal later. That tier is a non-exclusive royalty-free license. Essential is $12/mo for 8,500 fast tokens a month with private creations. Premium is $30/mo for 25,000 fast tokens. Paid subscribers get full ownership of outputs.
The catch for a crowd is consistency, not cost or license. A generator will give you thirty good characters that do not look like the same game, and a crowd is where that shows.
Pick this if the cast is large and you are on a paid tier. Do not pick this if you need four NPCs, since a subscription across four bodies is expensive per body.
7. Makko
Makko is collection-based 2D game art generation, where a collection binds the look, feel and style across a whole asset set, plus sprite sheet baking from generated animations. For a crowd the binding is the point: the unit of work is the set rather than the single character, the exact place a generated cast comes apart. Cost: not printed here. This page quotes only prices read off a vendor's public pricing page; Makko's sit on its own site.
Where it lands: above the free sources on cash cost per character, below commissioning. Like entry 6 it amortizes, so the per-character figure is poor for a crowd of three.
Pick this if the whole cast, crowd included, has to read as one art direction. Do not pick this if you need six bodies matching assets you already own, since entries 1 and 4 match an existing look more cheaply.
8. Commission a freelancer for a batch
Built for art you specify exactly and own outright, drawn by someone who can match your cast. It is last because a commission is priced per piece of human labor, so cost per character does not fall with volume. Body twenty costs close to what body two cost. Cost: set by the artist; this page does not quote freelance rates, having no verified source for them.
Ask for a batch price and specify the crowd tier in the brief: one idle, one facing, no death animation, no concept pass, detail cut to camera distance. Programmers routinely commission a hero-tier deliverable by accident and then pay for it.
Pick this if a character's screen time and reading load lift it out of crowd tier. Do not pick this if you are filling a market square.
The comparison table
| Source | Cash per character | License check | Output control | Consistency | Pipeline fit |
|---|---|---|---|---|---|
| 1. Recolor a base you own | A palette edit | None, you own it | High | Exact, capped at 3 | Already correct |
| 2. Kenney CC0 sets | Free | Once per set | None | High within a set | Re-cut to canvas |
| 3. OpenGameArt | Free | Per asset | None | Low | Re-cut to canvas |
| 4. Draw them yourself | Hours, no amortizing | None | Total | High, by hand | Already correct |
| 5. itch.io packs | Per pack | Per listing | Low | High within a pack | Re-cut to canvas |
| 6. Scenario or Leonardo.Ai | Subscription, amortizes | Once, paid tiers | High | Yours to enforce | Sheets are your job |
| 7. Makko | Amortizes | Once | High | Bound per collection | Sheet baking included |
| 8. Freelance commission | No amortizing | Contract, once | Total | Highest | As specified |
The one thing you cannot cut
Every entry above buys lower fidelity for less money, and fidelity is safe to cut to the floor for a crowd. Silhouette clarity is not. A background character may share a silhouette with another background character. It may never share one with anything the player has to react to. A crowd body that reads like an enemy costs the player a wasted input and a moment of doubt, and they blame the game, not the pack.
Cheap sources bite hardest here, since a downloaded pack was drawn without knowledge of your enemies. The check takes ten minutes whatever the source: fill the cast black at play size, put the crowd bodies in the same row as the enemies and the interactables, and look for collisions across tiers rather than within them. Nobody reviews a market stall body next to a boss, so no per-character review catches it. The silhouette differentiation test runs the procedure properly.
Build crowd bodies quieter in shape rather than blurrier: trim projecting extremities and save big shapes for characters the player acts on.
How to choose
Stop at the first match.
Named + speaking + high screen time?
-> not crowd tier. Tier it, then entry 7 or 8, that one only.
Own layered source for a matching character?
-> entry 1. Max 3 per base, never two in one shot.
Under ~10 bodies, no cash?
-> entry 2 (Kenney CC0). Style too far off? -> entry 4.
Under ~10 bodies, small budget?
-> entry 5 (itch.io). ONE pack, not four.
Over ~20 bodies, one art direction?
-> entry 6 (paid tier) or entry 7.
Three odd bodies nothing else covers?
-> entry 3 (OpenGameArt). Record each license on download.
THEN: cast filled black, crowd row beside enemy row.
Collision -> change the shape.
Frequently asked questions
Can I mix sources in one crowd?
Across separate spaces, yes. Inside one shot, no. Two bodies from two sources differ in line weight, rendering level and shadow hue, and those read as breakage rather than variety. One source per location is the practical split.
Is CC0 safe to ship commercially?
CC0 assets are free to use commercially with no attribution required, which makes Kenney's sets the cheapest zero-cash option here once license labor is counted. Confirm a file is in fact CC0 first: on OpenGameArt and on itch.io, licenses vary per asset or per listing and each has to be checked.
Can I use a free AI tier for NPCs in a game I sell?
Check the terms first: free tiers differ most here. Scenario's free plan outputs are for personal and evaluation use only. Leonardo's free tier is a non-exclusive royalty-free license and makes creations public, while paid subscribers get full ownership of outputs.
How many unique NPC bodies does a crowd need?
Fewer than the number standing there. One base supports three appearances, base plus two recolors, provided no two share a shot, so nine bodies in a square come from three bases. Thirty NPCs usually resolve into six or seven bases.
Should I buy crowd art before or after the hero?
After, always. The hero sets line weight, palette, canvas height and ground line, and every source above is judged against those. Buying the crowd first takes your constants from a pack and lets the tail decide the cast. Building a character cast covers the order.