A downloadable tool for Windows, macOS, and Linux

Download NowName your own price

⭐ Supporters

Gracias / Thanks / Obrigado:


Español

Editor simple inspirado en ZX Spectrum para crear y editar gráficos compatibles con formatos clásicos (.zxp, .scr). ideal para juegos de nuestro ZX Spectrum

Resumen de funcionalidades

  • Apertura y guardado: soporte nativo para .zxp y .scr.
  • Importar imágenes: importa PNG/JPG y convierte a paleta Spectrum con modal interactivo.
  • Conversión con previsualización: controla brillo, contraste y saturación y visualiza el resultado ZX Spectrum antes de importar.
  • Edición por bloques: lienzo en bloques 8×8 con atributos ink/paper/bright/flash.
  • Herramientas: lápiz, selección por bloques, texto (modal mejorado), invertir píxeles/atributos, flip H/V.
  • Rotar selección: botón para rotar 90° solo la selección activa.
  • Exportar: exporta PNG o guarda en .zxp para seguir editando.
  • Exportación de datos (ASM / BIN): exporta datos de sprites y atributos en formato ensamblador o binario. Configura datos exportados (Gfx+Attr, solo Gfx, solo Attr…), orden de bytes, intercalado, máscaras, zig-zag horizontal, info extra z88dk y más.
  • Exportador PutChars: genera código Boriel BASIC para mostrar gráficos de caracteres en pantalla.
  • Exportador GuSprites: genera tablas de datos de sprites en formato GuSprites para Boriel BASIC.
  • Generación de máscaras: genera automáticamente una columna de sprites de transparencia junto a cada sprite de la hoja.
  • Preview de animación: visualiza y navega frame a frame la selección activa como animación. Botón de play, anterior y siguiente. Resalta el frame actual en el canvas principal.
  • UI traducible y menú nativo en Español, Inglés y Portugués.</li>
  • Presets de tamaño: el modal de tamaño incluye presets seleccionables (ZX Spectrum 256×192 por defecto, ZXSGM Spriteset 256×48, ZXSGM Tileset 256×48) además de opción personalizada.
  • Archivos recientes: menú nativo "Recientes" bajo Archivo muestra los últimos 10 ficheros abiertos/guardados para acceso rápido.
  • Arrastrar y soltar: arrastra .zxp o .scr sobre la ventana para abrirlos rápidamente.
  • Asociación de archivos: al instalar el programa se registra como aplicación posible para abrir .zxp y .scr.
  • Idiomas: disponible en Español, English y Português.
  • Múltiples instancias: ZXDrawer puede abrirse en varias ventanas simultáneamente.
  • Editor de máscaras: herramienta para editar los píxeles de máscara manualmente. Selecciona el área sprite+máscara y pulsa "Editar Máscara". El overlay rojo indica zonas transparentes; clic izquierdo = transparente, clic derecho = opaco. Compatible con deshacer/rehacer.
  • Copiar y pegar entre instancias: el portapapeles se comparte entre todas las ventanas abiertas. Copia en una instancia y pega en cualquier otra sin archivos intermedios.
  • Rejilla de píxel (1×1): nuevo botón de rejilla fina de 1×1 píxel, independiente y combinable con la rejilla de caracteres 8×8. También visible en el visor de animación.
  • Pie de estado: muestra el tamaño de la selección en píxeles y en bloques de caracteres (8×8), útil para copiar/pegar y exportar.
  • Editar sprites desde el visor de animación: pinta píxeles directamente sobre el preview de animación (clic izquierdo = tinta, clic derecho = papel) y los cambios se reflejan en el spriteset principal en el frame correcto.
  • Soporte CHR y CH8: abre, guarda y exporta fuentes y tiles en formato .chr y .ch8 (bitmaps raw de caracteres 8×8 sin atributos).
  • Exportación CYD Charset (JSON): exporta cada tile 8×8 como entrada de carácter en formato JSON compatible con CYD. Configurable: ID inicial, ancho fijo o detección automática de ancho proporcional.
  • Exportación SP1 para z88dk: exporta el sprite en formato de columnas SP1 compatible con z88dk. Cada columna de 8 píxeles genera una etiqueta PUBLIC. Incluye opción de máscara y nombre de sección configurable.
  • Ruta del fichero en la barra de estado: la barra inferior muestra la ruta completa del archivo abierto.

Flujo típico

  1. Importa una imagen o abre una .scr/.zxp.
  2. Ajusta brillo/contraste/saturación en el modal de importación y previsualiza la conversión.
  3. Refina píxel a píxel, usa la selección y el portapapeles para componer sprites.
  4. Guarda como .zxp o exporta PNG.

Formato .scr

Soporte para archivos .scr de 6912 bytes (6144 bitmap + 768 atributos) respetando el layout de memoria del Spectrum.

Agradecimientos

Gracias a Jaime Tejedor (Metalbrain) por su editor gráfico Sevenup, cuyo exportador ha servido de referencia para comprender las distintas necesidades que los usuarios pueden tener a la hora de exportar datos y código ASM.



English

A lightweight ZX Spectrum-inspired editor for creating 256×192 graphics with 8×8 block attributes. Great for games on our ZX Spectrum.

Key Features

  • Open & Save: Native support for .zxp (project) and .scr (Spectrum screen dump).
  • Image import: Import PNG/JPG and convert to Spectrum palette with an interactive modal.
  • Live conversion preview: Adjust brightness, contrast and saturation while seeing the ZX Spectrum result.
  • Block editing: Canvas uses 8×8 blocks with ink/paper/bright/flash attributes.
  • Tools: pencil, block selection, improved text tool, invert pixels/attributes, flip H/V.
  • Rotate selection: button to rotate only the active selection by 90°.
  • Export: export PNG or save as .zxp to continue editing.
  • Data export (ASM / BIN): export sprite and attribute data in assembly or binary format. Configure data output (Gfx+Attr, Gfx only, Attr only…), byte order, interleave, masks, horizontal zig-zag, z88dk extra info and more.
  • PutChars exporter: generates Boriel BASIC code to display character graphics on screen.
  • GuSprites exporter: generates Boriel BASIC sprite data tables in GuSprites format.
  • Generate masks: automatically generates a transparency mask sprite column next to each sprite in the sheet.
  • Animation preview: preview and navigate frame by frame through the active selection as an animation. Play, previous and next buttons. Highlights the current frame on the main canvas.
  • UI translations and native menu localization (EN/ES/PT).</li>
  • Size presets: the size modal includes selectable presets (ZX Spectrum 256×192 default, ZXSGM Spriteset 256×48, ZXSGM Tileset 256×48) while keeping a custom option.
  • Recent files: native "Recent" menu under File shows the last 10 opened/saved files for quick access.
  • Drag & drop: drag .zxp or .scr files onto the window to open them.
  • File associations: installer registers the app as an option to open .zxp and .scr files.
  • Languages: available in Español, English and Português.
  • Multiple instances: ZXDrawer can be launched in multiple windows simultaneously.
  • Mask editor: tool for manually editing mask pixels. Select the sprite+mask area and click "Edit Mask". Red overlay marks transparent pixels; left click = transparent, right click = opaque. Supports undo/redo.
  • Copy & paste between instances: clipboard is shared across all open ZXDrawer windows. Copy in one instance, paste in any other — no intermediate file needed.
  • Pixel grid (1×1): new fine pixel grid button, independent and combinable with the 8×8 character grid. Also shown in the animation preview.
  • Status bar: shows selection size in pixels and character blocks (8×8) for easier copy/paste/export workflows.
  • Edit sprites from animation preview: paint pixels directly on the animation preview (left click = ink, right click = paper) and changes are immediately reflected on the main spriteset at the correct frame position.
  • CHR and CH8 support: open, save and export fonts and tiles in .chr and .ch8 format (raw 8×8 character bitmaps with no attributes).
  • CYD Charset export (JSON): exports each 8×8 tile as a character entry in CYD-compatible JSON format. Configurable: starting ID, fixed width, or auto-detection of proportional width per character.
  • SP1 export for z88dk: exports the sprite in SP1 column format compatible with z88dk. Each 8-pixel-wide column generates a PUBLIC label. Optional mask support and configurable section name.
  • File path in the status bar: the bottom bar now shows the full path of the open file.

Typical workflow

  1. Import an image or open a .scr/.zxp.
  2. Use the import modal to tweak brightness/contrast/saturation and preview the conversion.
  3. Refine pixel-by-pixel, use selection and clipboard to compose sprites or tiles.
  4. Save as .zxp or export PNG.

.scr format

Supports .scr files (6912 bytes: 6144 bitmap + 768 attributes) using the Spectrum memory layout.

Acknowledgements

Thanks to Jaime Tejedor (Metalbrain) for his graphic editor Sevenup, whose exporter served as a reference to understand the wide range of options users may need when exporting sprite data and ASM code.



Português

Editor leve inspirado no ZX Spectrum para criar gráficos 256×192 com atributos de bloco 8×8. ideal para jogos do nosso ZX Spectrum

Principais funcionalidades

  • Abrir e salvar: suporte nativo a .zxp e .scr.
  • Importar imagem: importe PNG/JPG e converta para a paleta Spectrum via modal interativo.
  • Pré-visualização: ajuste brilho, contraste e saturação e veja o resultado ZX Spectrum.
  • Edição por blocos: canvas em blocos 8×8 com atributos ink/paper/bright/flash.
  • Ferramentas: lápis, seleção, ferramenta de texto melhorada, inverter pixels/atributos, flip H/V.
  • Rodar seleção: botão para girar apenas a seleção ativa 90°.
  • Exportar: exporte PNG ou salve em .zxp.
  • Exportação de dados (ASM / BIN): exporta dados de sprites e atributos em formato assemblador ou binário. Configure dados exportados (Gfx+Attr, apenas Gfx, apenas Attr…), ordem de bytes, intercalação, máscaras, zig-zag horizontal, info extra z88dk e mais.
  • Exportador PutChars: gera código Boriel BASIC para exibir gráficos de caracteres no ecrã.
  • Exportador GuSprites: gera tabelas de dados de sprites no formato GuSprites para Boriel BASIC.
  • Geração de máscaras: gera automaticamente uma coluna de sprites de transparência junto a cada sprite da folha.
  • Pré-visualização de animação: visualize e navegue frame a frame pela seleção ativa como animação. Botões de play, anterior e próximo. Destaca o frame atual no canvas principal.
  • UI traduzível com menu nativo localizado.</li>
  • Predefinições de tamanho: o modal de tamanho inclui predefinições selecionáveis (ZX Spectrum 256×192 por omissão, ZXSGM Spriteset 256×48, ZXSGM Tileset 256×48) mantendo opção personalizada.
  • Arquivos recentes: menu nativo "Recentes" em Arquivo mostra os 10 últimos ficheiros abertos/guardados para acesso rápido.
  • Arrastar e soltar: arraste ficheiros .zxp ou .scr para a janela para os abrir.
  • Associação de ficheiros: o instalador regista a aplicação como opção para abrir .zxp e .scr.
  • Idiomas: disponível em Español, English e Português.
  • Múltiplas instâncias: o ZXDrawer pode ser aberto em várias janelas em simultâneo.
  • Editor de máscaras: ferramenta para editar pixels de máscara manualmente. Selecione a área sprite+máscara e clique em "Editar Máscara". O overlay vermelho indica zonas transparentes; clique esquerdo = transparente, clique direito = opaco. Compatível com desfazer/refazer.
  • Copiar e colar entre instâncias: a área de transferência é partilhada entre todas as janelas abertas. Copie numa instância e cole noutra — sem ficheiros intermediários.
  • Grelha de pixel (1×1): novo botão de grelha fina de 1×1 pixel, independente e combinável com a grelha de caracteres 8×8. Também visível no visualizador de animação.
  • Barra de status: mostra o tamanho da seleção em pixels e em blocos de caracteres (8×8), facilitando copiar/colar e exportar.
  • Editar sprites a partir do visualizador de animação: pinte pixels diretamente no preview de animação (clique esquerdo = tinta, clique direito = papel) e as alterações refletem-se no spriteset principal na posição correta do frame.
  • Suporte CHR e CH8: abra, guarde e exporte fontes e tiles em formato .chr e .ch8 (bitmaps raw de caracteres 8×8 sem atributos).
  • Exportação CYD Charset (JSON): exporta cada tile 8×8 como entrada de carácter em formato JSON compatível com CYD. Configurável: ID inicial, largura fixa ou deteção automática de largura proporcional.
  • Exportação SP1 para z88dk: exporta o sprite no formato de colunas SP1 compatível com z88dk. Cada coluna de 8 pixels gera uma etiqueta PUBLIC. Inclui opção de máscara e nome de secção configurável.
  • Caminho do ficheiro na barra de estado: a barra inferior mostra o caminho completo do arquivo aberto.

Fluxo típico

  1. Importe uma imagem ou abra um .scr/.zxp.
  2. Ajuste brilho/contraste/saturação no modal de importação e pré-visualize a conversão.
  3. Refine pixel a pixel, use seleção e portapapéis para montar sprites.
  4. Salve em .zxp ou exporte PNG.

Formato .scr

Suporte a arquivos .scr de 6912 bytes (6144 bitmap + 768 atributos) seguindo o layout de memória do Spectrum.

Agradecimentos

Obrigado a Jaime Tejedor (Metalbrain) pelo seu editor gráfico Sevenup, cujo exportador serviu de referência para compreender as diferentes necessidades que os utilizadores podem ter ao exportar dados de sprites e código ASM.



Testing

Updated 8 hours ago
StatusReleased
CategoryTool
PlatformsWindows, macOS, Linux
Rating
Rated 5.0 out of 5 stars
(11 total ratings)
AuthorJuntelart
TagsZX Spectrum

Download

Download NowName your own price

Click download now to get access to the following files:

ZXDrawer-nsis-win-x64.exe
External
ZXDrawer-linux-x86_64.AppImage
External
ZXDrawer-mac-arm64.zip
External
ZXDrawer-mac-x64.zip
External

Development log

Comments

Log in with itch.io to leave a comment.

Aun no lo he anunciado oficialmente, pero preparando el abandono de los cursos y soporte de zx-paintbrush y Retro-X en favor de ZX_Draw, esto incluira actualizacion del launcher retro, un gran avance en el toolkit retro, y muchisimo mas fiable a largo plazo que las herramientas abandonadas cuyos cursos dejo en estado zombie sine-die.

Gracias Raúl! Me alegro que haya gustado y sirva. Espero esos cursossssssssss

Mola mazo este editor!, ahora solo me falta aprender a dibujar. Pero seguro que con esta herrmienta sera coser y cantar 👏👏👏

Gracias! Te pasa como a mi, dibujar tampoco se 😂. A ver si conseguimos una herramienta productiva, actual y que tenga mantenimiento.

Grande juntelart, estás que no paras :) 

Ya no hay excusa para hacer cositas de forma sencilla,  esto ayudará a los que quieren algo directo para poder hacer sus dibujos sin menús cargados de opciones que puedan abrumar a la gente que empieza o quiere empezar haciendo cositas.

Gracias por tus aportes a la escena de spectrum.


un abrazo 🤗 

Gracias! Así es la idea es hacer algo sencillo y efectivo! Y que se pueda extender.

Muchas gracias por tu esfuerzo en el desarrollo de herramientas para ZX Spectrum. Tu gran labor facilita que siga muy vivo!!!

Gracias! Soys mucha gente aportando a la escena de ZX Spectrum y sobre todo muy buena gente. 👏