Pixel Map Editing and Importing Through CSV
Complex editing of Eos Pixel Maps can be done by exporting the Pixel Map from Eos as a CSV (comma-separated values) file, editing the file in your spreadsheet editor of choice, and then importing the CSV file back into Eos.
Pixel Map layouts are included in CSV exports, and can be imported for complicated Pixel Maps.
-
To export Pixel Map location data via CSV, navigate in the Browser to File > Export > CSV, and include Pixel Maps.
-
To import Pixel Map location data via CSV, put a properly-formatted CSV file (see below) on a USB flash drive, navigate in the Browser to File > Import > CSV, and include Pixel Maps.
Pixel Map layout data can be included as part of a larger show file CSV dataset, or on its own - allowing you to use outside tools (like a spreadsheet or text editor) for creation or editing of complicated layouts.
This article covers csv formatting conventions as they apply within a spreadsheet editor. When using a text editor, data in the same row will be separated by commas with no spaces, instead of cells.
Pixel Map Layout CSV Block
The Pixel Map CSV Block must follow the following structure:
- The CSV block must start with START_PIXELMAP and end with END_PIXELMAP
- The title row is required and must immediately follow START_PIXELMAP
- Each pixel row contains the full data set for a single pixel on the map
| START_PIXELMAP <title row> <pixel row 1> <pixel row 2> ... <pixel row n> END_PIXELMAP |
Title Row Formatting
The title row allows you to define which data columns are used, and the order in which those columns appear in the pixel rows. These are the data column options:
| Column | Description | Required? | Notes |
|---|---|---|---|
| PIXELMAP | Pixel Map target number | Required | Several Pixel Maps can be defined in the same CSV block. |
| LOCATION_X | Pixel location X | Required | The (1,1) Pixel location is in the upper-left side of the map. X increases moving right, Y increases moving down. |
| LOCATION_Y | Pixel location Y | Required | |
| SCALE_X | Scale factor X | Optional | Default is 1, even if omitted. |
| SCALE_Y | Scale factor Y | Optional | Default is 1, even if omitted. |
| CHANNEL | Channel number of pixel | Optional, if Address & Fixture fields are present | For import, choose either Channel or Address & Fixture Data. |
| ADDRESS | Fixture start address (absolute values only, not port/offset) | Optional, ignored if CHANNEL is nonzero | |
| FIXTURE_DCID | Fixture profile's unique identifier in Eos | Optional, ignored if CHANNEL is nonzero | |
| MANUFACTURER | Fixture profile's manufacturer name | Optional, ignored if CHANNEL is nonzero | |
| FIXTURE_TYPE | Fixture profile's type name | Optional, ignored if CHANNEL is nonzero |
The Title Row must contain columns describing the location for each Pixel Data row (PIXELMAP, LOCATION_X, and LOCATION_Y columns minimally), but then Eos needs to link the pixel to a fixture profile for proper control.
The easiest way is to define CHANNEL data, imported via CSV into a show file that is already patched. But the CSV file is also capable of using ADDRESS in combination with FIXTURE_DCID or MANUFACTURER & FIXTURE_TYPE fields to define the fixture profile. It is not necessary have all of these columns present for import from other software. They will be used when exported from Eos. So, valid Title Rows could be:
| PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL | ![]() |
| PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,FIXTURE_DCID | ![]() |
| PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,MANUFACTURER,FIXTURE_TYPE | ![]() |
| Opened in text editor | Opened in spreadsheet editor |
Building the Title Row
All required columns must be included - if a required column is omitted, the import will fail. The order of the columns does not matter, so long as the Pixel Data rows match the Title Row.
Any optional columns can be omitted completely, or null values can be left in the Pixel Data rows.
Examples
Example 1
This is a simple and valid CSV block for importing a channel-based Pixel Map layout:
| START_PIXELMAP PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL 1,1,1,1 1,2,1,2 1,3,1,3 1,1,2,4 1,2,2,5 1,3,2,6 END_PIXELMAP |
![]() |
| Opened in text editor | Opened in spreadsheet editor |
This import will result in Pixel Map 1 with a layout of:

Example 2
This is a CSV block where ADDRESS data exists, but because there is CHANNEL data present, it is ignored and the channels remain patched as they were before import:
| START_PIXELMAP PIXELMAP,LOCATION_X,LOCATION_Y,ADDRESS,CHANNEL 1,1,1,12,1 1,2,1,24,2 1,3,1,36,3 1,1,2,48,4 1,2,2,60,5 1,3,2,72,6 END_PIXELMAP |
![]() |
| Opened in text editor | Opened in spreadsheet editor |
This import still results in Pixel MAP 1 with a layout of:

Example 3
This is a CSV block with multiple Pixel Maps in the same block:
| START_PIXELMAP PIXELMAP,LOCATION_X,LOCATION_Y,CHANNEL 1,1,1,1 1,2,1,2 1,3,1,3 1,1,2,4 1,2,2,5 1,3,2,6 2,1,1,11 2,2,1,12 2,3,1,13 2,1,2,14 2,2,2,15 2,3,2,16 END_PIXELMAP |
![]() |
| Opened in text editor | Opened in spreadsheet editor |
This import will result in two pixel maps with the following layouts:
Pixel Map 1:

Pixel Map 2:

Pixel Map Layout CSV Format Rules Summary
- The CSV block must start with START_PIXELMAP and end with END_PIXELMAP
- The Title Row is required and must immediately follow START_PIXELMAP
- Columns may be in any order
- Optional or Ignored columns may be omitted entirely
- Either CHANNEL or ADDRESS must be present and nonzero
- If CHANNEL is nonzero, a channel-type pixel will be imported, using the fixture profile attached to the Channel in Patch
- ADDRESS, FIXTURE_DCID, MANUFACTURER, and FIXTURE_TYPE are ignored, and can be omitted
- If CHANNEL is omitted or zero, an address-type pixel will be imported. The fixture profile will be chosen as follows:
- Fixture Profile with matching FIXTURE_DCID
- Fixture Profile with matching MANUFACTURER & FIXTURE_TYPE strings
- If neither of these finds a match in the Eos library, the Generic Dimmer fixture profile will be used.
- If CHANNEL is nonzero, a channel-type pixel will be imported, using the fixture profile attached to the Channel in Patch
- The (1,1) pixel location is in the upper-left side of the map. X increases moving right, Y increases moving down.
- SCALE_X and SCALE_Y default is 1, even if data is omitted. X increases a pixel size moving right, Y increases a pixel size moving down.
- Pixel Map size:
- Importing to a new Pixel Map target will make the map sized to fit the Pixel Data rows, based on maximum LOCATION_X and LOCATION_Y values.
- Importing to an existing Pixel Map target will import the pixels and preserve the existing Pixel Map height and width.






