Drop a Zwift kit here

A .ztx file from your Zwift folder. Nothing is uploaded — it never leaves this browser.

How this works

Everything runs in your browser. Nothing is uploaded.

What it does

It repaints a texture file from your own Zwift install. The file it gives back is the same byte length as the original and carries the same CRC-32, so Zwift's file check accepts it.

Back up the original first. Copy the .ztx somewhere safe before you replace it. Restoring that copy is how you undo a change — there is no revert button here.

The four steps

  1. Find it. Pick a category or search, then copy the folder path.
  2. Drop the .ztx on this page. Back it up first.
  3. Design. Add text and image layers, or recolour the whole thing.
  4. Build & download, then put the file back where you found it.

Zwift may restore the original on a game update. Keep your backup, and keep the built file too.

You can only repaint kits you already own

Painting a kit does not unlock it. Pick something you can already select in Zwift's garage — repainting a locked kit changes a file the game never loads for you.

The change is also only on your screen. Other riders see the kit Zwift has on record, not your design.

What you can add

Designing a whole kit: what fits

Your design has to compress into the space the original file occupied, and that budget is small — typically a few kilobytes on top of the texture itself. What decides it is how much detail your artwork has.

Fits, with room to spareWill not fit
Flat colour fields
Hard-edged stripes and shapes
Bold type
Two-stop gradients
Limited palettes, dithering off
Photographs
Film grain, noise, "fabric texture"
Soft airbrush and multi-hue gradients
Anything exported with dithering on

The rule that surprises people: cost comes from edge length, not colour count. Two hundred small shapes cost far more than a dozen large ones, even in the same four colours. If a design will not fit, make the shapes bigger before you make the palette smaller.

Turn dithering off. "Save for Web", indexed colour and GIF export all default to it. The same sixteen colours fit comfortably without dithering and fail with it — it sprays single-pixel noise across every gradient, which is the one thing this format cannot compress.

Designing in GIMP, Photoshop or Affinity

There is a full round trip: take the kit out as a PNG, paint it however you like in a real editor, and bring it back.

  1. Export PNG. Under Whole-kit artwork. You get the texture at its true size — 1024×1024 for most kits — not a preview.
  2. Open it and paint. It is a flat, unwrapped map of the garment: the jersey front and back sit in the top half, the shorts below. Use the rider preview and the calibration grid here to work out which region is which before you commit.
  3. Save as PNG at exactly the same pixel size. Do not resize, do not crop, do not flatten to JPEG.
  4. Replace with a PNG. Your artwork becomes the kit. If the size is wrong it is refused and told you so — nothing is silently stretched.
  5. Add text or a logo on top if you want. Layers still work, and everything is encoded in one pass.
  6. Build & download, then put the file back.
DoDon't
PNG, 8-bit RGB
Exact original pixel size
Flat colour, hard edges
Dithering off
DDS / DXT export
Resizing or cropping
JPEG (its ringing fights the format)
Grain, noise, soft gradients
Don't export DDS, even though GIMP can. Zwift's file is not a DDS: it uses a different 18-byte header, its mip chain stops when the smaller side reaches 8 rather than going to 1×1, and the whole thing is compressed and padded to an exact byte length with a matching checksum. A mipmapped DDS has three levels too many; one without mipmaps has seven too few. Export a PNG and let this app do that part.

Transparency doesn't work on kits. Almost every garment texture is a format with no alpha channel, so erased areas are filled in rather than becoming see-through. Paint the colour you want instead of deleting.

Two things that waste time if you don't know them

If it will not fit

The build tries harder compression first, then shrinks your layers, drops outlines, and reduces the palette. When it still misses it tells you how many bytes over you are. Flatten the artwork, use fewer and larger shapes, or pick a kit whose file is bigger — the roomier the original, the more you can spend.