Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A programming language that lets you code with pixels really exists: it is called Piet. Created by David Morgan-Mar, Piet treats a colored image as executable source code, using block sizes, color transitions, and geometry to perform stack-based computation. The result can look like abstract art, but it is a genuine esoteric programming language.

Piet is named after Dutch abstract painter Piet Mondrian. Its rectangular color fields echo Mondrian’s visual style, while their arrangement determines how an interpreter moves and which operations it performs. The image is not an illustration of the program; the image is the program.

Key takeaways

  • Piet is a real image-based, stack-oriented programming language invented by David Morgan-Mar, not merely a visual programming interface.
  • A standard Piet program uses 20 colors: 18 colored shades arranged across six hues and three lightness levels, plus white and black.
  • The interpreter travels through contiguous color blocks using a Direction Pointer and Codel Chooser; color changes select commands.
  • The number of codels in a colored block represents an integer, but the value reaches the stack only when a push operation occurs.
  • Official samples include Fibonacci, prime testing, FizzBuzz, a text adventure, and a Brainfuck interpreter, although Piet is impractical for ordinary software.
  • The primary specification says it was last updated on September 27, 2018 and warns that different interpreters can handle ambiguous cases differently.

What is a programming language that lets you code with pixels?

A programming language that lets you code with pixels is Piet, an esoteric language in which the source code is a raster image of colored regions. Piet’s specification defines data storage, arithmetic, control flow, input/output, execution rules, and error behavior, making Piet a functioning programming language rather than an art experiment with programming themes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Piet is deliberately unusual. Conventional languages express structure with words, punctuation, and indentation. Piet expresses structure spatially: the shape and area of each color block matter, the transitions between colors select operations, and black boundaries and white pathways influence the execution route.

#1 Best Overall
Wacom Intuos Small, Wired Graphic Drawing Tablet with Pen + Software | Battery-free pen, 4 ExpressKeys for shortcuts, works with Mac, Windows & Chromebook; Ideal for creators, students & teachers
  • Wacom Intuos Small Graphics Drawing Tablet: Enjoy industry leading tablet performance in superior control and precision with Wacom's EMR, battery free technology that feels like pen on paper
  • Works With All Software: Wacom Intuos tablet can be used in any software program to explore new facets of digital creativity; draw, paint, edit photos/videos, create designs, and mark up documents
  • What the Professionals Use: Wacom's industry leading pen technology and pen to paper feeling makes it the preferred drawing tablet of professional graphic designers
  • Software and Training Included: Only Wacom gives you software with every purchase. Register your Intuos tablet and gain access to some of the best creative software and Wacom's online training
  • Wacom is the Global Leader in Drawing Tablet and Displays: For over 40 years in pen display and tablet market, you can trust that Wacom to help you bring your vision, ideas and creativity to life

The Piet language specification by David Morgan-Mar is the primary reference for the language’s palette, execution model, commands, and implementation caveats.

Why is Piet named after Piet Mondrian?

Piet is named after Piet Mondrian, the Dutch painter associated with geometric abstract art. Mondrian’s compositions use carefully arranged rectangles and a restrained palette; Piet turns a similar visual vocabulary into an operational system.

The comparison is more than a naming joke. In a Mondrian-inspired painting, a rectangle contributes to visual composition. In Piet, a rectangle contributes a numeric value, a possible route, or an instruction transition. A finished Piet program can therefore be aesthetically interesting and executable at the same time.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What does Piet code look like?

Piet code looks like a small abstract painting made from flat, carefully controlled colors. To understand the image technically, separate three terms that are often blurred together:

Term Meaning in Piet Why it matters
Codel The smallest logical unit of the image; in a native-size program, one pixel can represent one codel. Codels determine connectivity and the size of color blocks.
Color block A contiguous region of codels with the same color. The block’s area supplies an integer, and leaving the block can trigger a command.
Black An impassable region or boundary. Black restricts movement and can redirect the execution path.
White Traversable space through which the interpreter can slide. White permits movement without executing a color-transition command.
Colored transition A move from one colored block to another colored block. The hue and lightness changes select the operation.

Diagonal contact does not join two regions. Two same-colored areas touching only at a corner are separate blocks because Piet connectivity requires an edge-to-edge connection. A one-codel edit can therefore change both a block’s numeric value and the route available to the interpreter.

“Every pixel is an instruction” is an appealing but inaccurate shortcut. Individual codels affect area and topology; instructions arise primarily from transitions between color blocks and from the interpreter’s movement state.

How does a Piet image become executable code?

A Piet interpreter does not scan the bitmap from left to right like an ordinary image parser. The interpreter navigates through the image, maintaining a direction and a choice of exit position.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Execution begins in the color block containing the image’s upper-left codel. The initial Direction Pointer points right, and the initial Codel Chooser points left.

  1. The interpreter identifies the edge of the current color block furthest in the Direction Pointer’s direction.
  2. The Codel Chooser selects a codel on that edge.
  3. The interpreter moves from the selected codel toward the adjacent region in the Direction Pointer’s direction.
  4. If the interpreter enters another colored block, the color change from the old block to the new block selects an operation.
  5. The new block becomes the current block, and the process repeats.

The two state variables are central to Piet:

  • Direction Pointer, or DP: chooses whether the interpreter travels right, down, left, or up.
  • Codel Chooser, or CC: chooses between the left and right side of a block relative to the DP’s direction.

This execution model explains why geometry is syntax. Changing the outline of a region can change the codel selected for departure, which can change the next block reached, which can change the entire program’s behavior.

How do Piet colors encode commands?

Piet selects commands from two cyclic color changes: the number of hue steps and the number of lightness steps between the block being left and the block being entered.

Rank #2
Sale
Drawing Tablet XPPen StarG640 Digital Graphic Tablet 6x4 Inch Art Tablet with Battery-Free Stylus Pen Tablet for Mac, Windows and Chromebook (Drawing/E-Learning/Remote-Working)
  • Battery-Free Pen: StarG640 drawing tablet is the perfect replacement for a traditional mouse! The XPPen advanced Battery-free PN01 stylus does not require charging, allowing for constant uninterrupted Draw and Play, making lines flow quicker and smoother, enhancing overall performance
  • Ideal for Online Education: XPPen G640 graphics tablet is designed for digital drawing, painting, sketching, E-signatures, online teaching, remote work, photo editing, it's compatible with Microsoft Office apps like Word, PowerPoint, OneNote, Zoom, Xsplit etc. Works perfect than a mouse, visually present your handwritten notes, signatures precisely
  • Compact and Portable: The G640 art tablet is only 2 mm thick, it's as slim as all primary level graphic tablets, allowing you to carry it with you on the go
  • Chromebook Supported: XPPen G640 digital drawing tablet is ready to work seamlessly with Chromebook devices now, so you can create information-rich content and collaborate with teachers and classmates on Google Jamboard’s whiteboard; Take notes quickly and conveniently with Google Keep, and effortlessly sketch diagrams with the Google Canvas
  • Multipurpose Use: Designed for playing OSU! Game, digital drawing, painting, sketch, sign documents digitally, this writing tablet also compatible with Microsoft Office programs like Word, PowerPoint, OneNote and more. Create mind-maps, draw diagrams or take notes as replacement for mouse

The hue cycle is red → yellow → green → cyan → blue → magenta → red. The lightness cycle is light → normal → dark → light. The combination of those two changes identifies an operation in the language’s command table.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Command family Operations represented What the operation affects
Stack Push, pop, duplicate, roll Values stored by the program
Arithmetic Add, subtract, multiply, divide, modulo Integer values on the stack
Comparison and logic Not, greater-than Boolean-style decisions represented as stack values
Control flow Rotate the Direction Pointer, switch the Codel Chooser The interpreter’s future path through the image
Input and output Numeric input/output and character input/output Interaction with the outside world

The table above summarizes the command families rather than reproducing the exact hue/lightness lookup grid. The official Piet specification’s command table is the authority when you need to translate a particular pair of color changes into an exact command.

Some color changes produce no ordinary operation, including transitions involving white or black in situations covered by the specification. That does not make those colors irrelevant: white changes movement without performing a transition command, while black blocks movement and invokes the retry behavior described below.

How does Piet represent numbers?

Each non-black, non-white color block represents an integer equal to its number of codels. A block containing five codels represents 5; a block containing 20 codels represents 20.

Entering a block does not automatically push that number onto the stack. A color transition must select the push command before the block’s size is placed on the stack. This distinction is important: a region’s area is available as data, but the program controls when that data becomes a stack value.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Piet uses a stack of integer values. Arithmetic and comparison operations consume values from the stack and place results back on it according to the operation. Input and output commands can treat integer values numerically or as characters, including Unicode characters where the selected implementation supports them.

Block area makes Piet difficult to read and edit. In a text language, changing a literal from 5 to 6 is an obvious character edit. In Piet, changing a value may require adding or removing a codel without accidentally joining another region, changing an exit point, or redirecting the execution path.

What do black and white regions do?

How does black affect Piet execution?

Black acts like an obstacle rather than an ordinary instruction. Image edges also restrict movement. When the interpreter cannot move from the current block in the DP’s direction because the next location is black or outside the image, Piet changes its movement choices and tries again.

  1. The Codel Chooser is toggled.
  2. The interpreter tries the move again.
  3. If the second attempt fails, the Direction Pointer rotates clockwise.
  4. The interpreter continues this retry process.
  5. After eight unsuccessful attempts, execution terminates.

Black can therefore function as a wall, a boundary, or part of a control-flow design. “Black means stop” is incomplete: black restricts movement, and termination occurs only when the interpreter cannot escape after the prescribed DP and CC attempts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How does white affect Piet execution?

White is traversable space. The interpreter slides through white in a straight line until it encounters a colored block or another restriction. Sliding through white does not itself execute a color-transition command.

Rank #3
Sale
XPPen Deco 01 V3 10x6 Drawing Tablet, 16K Battery-Free Stylus, 8 Keys | Battery-Free Stylus, 8 Keys for Digital Art, Teaching, OSU, Mac, PC, Android, Chromebook, Designed for Beginners
  • Word-first 16K Pressure Levels: The upgraded stylus features 16,384 levels of pressure sensitivity and supports up to 60 degrees of tilt, delivering smoother lines and shading for a natural drawing experience. With no battery or charging needed, it operates like a real pen, making it easy for beginners to create effortlessly. This functionality helps novice artists develop their skills and explore their creativity without the intimidation of complex tools
  • Designed for Beginners: This drawing pad desinged with 8 customizable shortcuts for both right and left-hand users, express keys create a highly ergonomic and convenient work platform
  • Perfectly Adapted for Android: The XPPen Deco 01 V3 art tablet supports connections with Android devices running version 10.0 and above. It is recommended to download the XPPen Tools Android application, which adapts to your smartphone's screen aspect ratio, ensuring accurate mapping. It also supports mapping on Android screens with different aspect ratios in portrait mode
  • Large Drawing Space, Bigger Bold Inspiration: This expansive drawing pad has10 x 6.25-inch helps you break through the limit between shortcut keys and drawing area
  • Easy Connectivity for Beginners: The Deco 01 V3 offers USB-C to USB-C connectivity, plus adapters for USB C. This ensures easy connection to various devices, allowing beginner artists to set up quickly and focus on their creativity without compatibility concerns. Whether using a laptop, tablet, or desktop, the Deco 01 V3 provides a seamless experience, making it an ideal choice for those just starting their digital art journey

White pathways let a program move without consuming an instruction transition. They can be essential for loops, routing, and separating visual regions. “White means nothing” is also misleading: white’s movement behavior can determine whether the next instruction is reached at all.

What can Piet actually compute?

Piet’s official sample gallery demonstrates considerably more than a novelty greeting. Documented examples include:

  • Hello World
  • Fibonacci numbers
  • Towers of Hanoi
  • Prime testing and prime generation
  • Addition, factorials, and power functions
  • Euclid’s algorithm
  • Pi approximation
  • FizzBuzz
  • A text adventure game
  • An interpreter for Brainfuck

The official Piet sample gallery includes the Brainfuck interpreter as evidence that Piet can represent nontrivial computation, not just display an artistic “Hello World!” result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Piet is generally treated as computationally expressive enough for substantial general computation, but the sources used here do not establish a formal proof of Turing completeness. The careful conclusion is that Piet supports complex computation and includes an interpreter for another esoteric language; a formal Turing-completeness claim requires a separately sourced proof.

What does a simple Piet program look like?

The official Hello World sample is the best starting point because it shows the complete idea without requiring an invented miniature program. The sample gallery provides the program at one codel per pixel and at an enlarged scale for easier viewing.

A useful way to study the sample is to trace it rather than read it as a conventional listing:

  1. Mark the color block containing the upper-left codel, where execution begins.
  2. Draw the initial DP pointing right and CC pointing left.
  3. Identify the furthest edge selected by the DP and CC.
  4. Record the next colored block reached.
  5. Compare the old and new colors using the hue and lightness cycles.
  6. Write down the resulting command and the current stack.
  7. Repeat the trace whenever the path turns, crosses white, or encounters black.

The complete Hello World image is much harder to decode than a conventional text-language listing because output requires carefully arranged block sizes, stack operations, and transitions. That difficulty is the point of the example: Piet makes execution visible as a path through a composition, but it does not make programming easier.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How would you write Piet code?

Writing Piet code is a design-and-debugging exercise in geometry, color, and stack management. A practical workflow is:

  1. Choose a small behavior. Start with output, addition, or another operation that has a clear expected result.
  2. Plan the stack. Write down which values must exist before each arithmetic, comparison, or output command.
  3. Translate operations into color transitions. Use the official command table rather than relying on visual intuition.
  4. Draw blocks with deliberate areas. Make each block contain the number of codels required for its intended value.
  5. Design the route. Use region geometry, black barriers, white paths, DP rotations, and CC switches to force the desired sequence.
  6. Preserve the palette. Avoid image processing that changes exact colors or introduces intermediate pixels.
  7. Run a known sample first. Confirm that the selected interpreter handles the image format and standard colors as expected.
  8. Trace failures visually. Follow the DP, CC, block boundaries, transitions, and stack instead of guessing from the final output.

The difficult part is not drawing attractive rectangles. The difficult part is ensuring that every block has the intended area, every exit selects the intended codel, every transition produces the intended command, and every loop preserves a valid stack state.

What can go wrong when creating or running Piet images?

Why do colors cause Piet compatibility problems?

Piet depends on exact colors, so ordinary image-editing features can corrupt a program. Anti-aliasing can create unintended colors at boundaries. Resizing with interpolation can blend palette colors. Color-profile conversion, transparency, palette conversion, and lossy compression can change pixel values.

Rank #4
XPPen Deco 640 Drawing Tablet with 16384 Pressure Levels Sensitivity Battery-Free Stylus 6*4 Inch OSU Drawing Pad Graphic Tablet for Digital Drawing Teaching Designing Editing Work for PC Mac Android
  • Industry-leading 16K Pressure Levels: The graphic drawing tablet adopts the groundbreaking 16K pressure sensitivity levels, ensuring your every stroke is rendered smoothly, precisely, and naturally. By supporting 60° tilt, the Deco 640 drawing tablet makes it easy to draw shaded strokes or rich line variations. Drawing on a tablet is as natural as drawing on paper
  • Ergonomic Design: The ultra-narrow and curved edge design provides a spacious drawing area and reduces wrist fatigue. Together with 8 soft shortcut keys and a handy drawing pen, you can easily master the skills of drawing on a tablet with efficiency and comfort. Even long-time creation is not a burden
  • Your Perfect Partner for playing OSU: Want to get fully prepared for OSU? Deco 640 OSU pad offers an immersive gaming experience with a compact size and high response speed
  • Capture Your Inspiration with Instant Response: With a pen resolution of 5080 LPI and a report rate of 220 RPS, there is no lag for the cursor to track the pen nib and all your drawings will be transferred to the computer speedy and stably
  • Lightweight and Portable: The Deco 640 signature drawing tablet is only 0.37 lbs in weight and 0.3 inch in thickness, it is more than just a drawing tablet, it is also your digital notebook. Use it for free writing in your classroom or office and carry it with you on the go

JPEG is especially unsuitable for exact-palette source code because compression can alter colors. A lossless format accepted by the chosen interpreter is safer, but the specification does not establish one universal image-format rule for every implementation. Verify the selected interpreter’s exact format and color-matching behavior before saving a program.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Nonstandard colors such as orange or brown may also be implementation-dependent. Similar-looking pastel colors can be visually difficult to distinguish even when an interpreter treats them as distinct. The official specification notes that implementations may handle additional colors differently.

Why does geometry cause Piet bugs?

Geometry causes Piet bugs because a single codel can change several parts of the program at once. Adding one codel can increase a numeric value, connect two regions, change the furthest exit codel, or make a black retry take a different route.

  • Diagonal contact does not connect same-colored blocks.
  • A hole inside a region is not part of that region.
  • Complex outlines can make the selected furthest codel unintuitive.
  • A black border can alter the sequence of CC toggles and DP rotations.
  • A white pathway can bypass a command because movement through white does not execute a transition.

What runtime errors can Piet programs encounter?

Piet programs can encounter empty-stack or insufficient-stack operations, division by zero, modulo by zero, invalid roll depth, unavailable input, unexpected input types, finite stack limits, finite integer limits, and infinite loops. The specification indicates that many error cases are implementation-dependent or may be ignored rather than handled identically by every interpreter.

A program can also terminate because the interpreter cannot leave a block after all DP and CC attempts. That termination is a movement failure, not necessarily an explicit stop instruction.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Are Piet interpreters compatible with one another?

Piet does not have one single authoritative interpreter. The creator’s specification warns that implementations can interpret ambiguous parts of the language differently, including aspects of white-block behavior, error handling, stack limits, integer limits, and nonstandard colors.

That caveat affects reproducibility. An image that works in one interpreter may not behave identically in another, especially if the image relies on an ambiguous rule or implementation-specific color. Test a program with the interpreter you intend to use, document that choice, and avoid presenting an implementation-specific behavior as universal Piet behavior.

The specification page identifies September 27, 2018 as its last update. The specification is authoritative for the language design, but it is not a current software-release page. The available research also does not verify a current interpreter’s maintenance status, operating-system support, package-manager installation command, or browser availability.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How can you try Piet safely?

The most reliable starting path is to use a reputable Piet interpreter or development tool listed through the creator’s resources, then run a documented sample before attempting original code. Because interpreter availability and installation details change, check the selected project’s own documentation for its current release, supported image formats, platform support, and color rules.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open the official Piet specification and learn the palette and movement rules.
  2. Download or copy a sample from the official sample gallery.
  3. Use the exact sample image rather than a screenshot or a re-saved, processed version.
  4. Run the image in the selected interpreter and confirm the expected output.
  5. Inspect the interpreter’s handling of image formats, nonstandard colors, stack limits, and input/output.
  6. Begin with a tiny original program and keep a written trace of the path and stack.

Do not assume that any arbitrary PNG, JPEG, or screenshot is valid Piet source. Piet programs must follow the palette and geometry rules expected by the interpreter, and image tools can silently alter those properties.

Best Value
Graphic Drawing Tablet, Digital Sketch,Design for PC and Computer/Pad-12 Hot Keys, Compatible Windows/MAC/Android,the Adjustable Ergonomic Stand,16384 Upgrade Levels Battery-Free Pen,ienRon 10x6.25
  • Graphic Drawing Tablet Wide Compatibility: This ienRon IES1060 drawing tablet is compatible with Windows XP, 7, 8, 10, 11 and later versions, Android 5.0 and above; Mac OS 10.7.0 and later versions. Not for iPhone/iPad/Chromebook. This drawing pad works seamlessly with most major creative drawing software such as Photoshop, SAI, FlipaClip, Medibang, Adobe Illustrator, Lightroom, and supports Microsoft Office. It is also suitable for left-handed users
  • Drawing tablet for pc Customizable Shortcuts for Enhanced Efficiency: ienRon art tablet featuring 12 customizable shortcuts keys and 10 soft multimedia keys, the ienRon drawing tablet allows you to personalize your favorite shortcuts, enhancing convenience and efficiency in different software applications. This makes it ideal as a drawing Pad for PC
  • Drawing Pad for pc and computer with Battery-Free Pen with Advanced Tilt Functionality: This computer graphics tablets Equipped with an innovative battery-free stylus that requires no charging and comes with 30 replacement nibs, offers 60° tilt recognition, providing precise cursor positioning at various angles. With 8192 levels of pressure sensitivity, it ensures accurate control over line thickness, adding depth and shading to your artwork
  • Digital drawing tablet for User-Friendly Design: This digital drawing tablet is designed to be very user-friendly. Simply connect it to your personal computer or laptop, download and install the driver from the official website, and start creating immediately. Note: This graphic drawing tablet requires connection to a computer, laptop, or an Android-based tablet or smartphone to function
  • Good Gifts for Beginner Drawing Pad: The ienRon drawing pad for computer is tailor-made for beginners in drawing, design, teaching, photo editing, and more. It’s the perfect starting point for anyone's journey into digital art, unlocking boundless creative inspiration

How is Piet different from other visual or esoteric languages?

Language style What represents the program How Piet differs
Conventional text language Words, symbols, punctuation, and textual structure Piet uses image geometry, color, topology, and movement instead of a text listing.
Scratch, Blockly, or node-based visual scripting Labeled blocks and explicit connections Piet has no friendly labeled-block abstraction; the raw image is the low-level syntax.
Befunge A character grid traversed by an instruction pointer Piet uses colored regions, block areas, and color transitions rather than character instructions.
Brainfuck or Whitespace A deliberately minimal or disguised textual notation Piet’s distinctive source representation is a raster image whose visual properties carry meaning.

Piet is therefore visual, but not visual programming in the usual educational or productivity sense. Scratch makes programming more accessible by exposing labeled blocks. Piet makes programming stranger by removing labels and making spatial structure do the work.

Is Piet practical for ordinary software?

Piet is not a practical replacement for Python, JavaScript, C++, or another production language. Piet programs are difficult to read, difficult to review, laborious to debug, awkward to diff in version control, and vulnerable to accidental image changes.

Small visual edits can alter control flow. Tooling is fragmented. Interpreter behavior can diverge. Large programs can become dense compositions whose stack state and execution path are opaque to anyone who did not create them.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Piet is practical for a different set of goals:

  • Exploring esoteric programming-language design
  • Studying stacks, control flow, and interpreters
  • Creating executable art
  • Solving programming puzzles
  • Experimenting with the boundary between code and visual composition
  • Teaching the idea that source code is ultimately a structured representation interpreted by a machine

The best reason to use Piet is not efficiency. Piet is valuable because it makes a familiar question strange: what if the shape and color of a picture were the syntax of a program?

Frequently Asked Questions

Is Piet really a programming language?

Yes. Piet is a functioning esoteric programming language created by David Morgan-Mar. Piet’s image source encodes data, arithmetic, control flow, and input/output through colored blocks, their areas, and the interpreter’s movement through the image.

Is Piet Turing-complete?

Piet is generally regarded as capable of substantial general computation, and the official sample gallery documents a Piet program that interprets Brainfuck. However, the sources used here do not provide a formal proof of Turing completeness, so that claim should not be presented as formally established without additional evidence.

Can any image be used as Piet code?

No. A valid Piet program must follow the selected interpreter’s palette, codel connectivity, block, and image-format rules. Anti-aliasing, interpolation, color conversion, transparency, and JPEG compression can change an image enough to alter or break its behavior.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Is Piet useful for building normal applications?

No. Piet is best suited to esolang experiments, programming puzzles, executable art, and language-design exploration. Conventional text languages are far easier to read, debug, collaborate on, review, and maintain.

The Bottom Line

Bottom line: Piet really does let you code with pixels, but the pixels are only the surface of a more precise system. Color-block areas represent integers, color transitions select stack and control-flow operations, and DP/CC movement turns geometry into execution. Piet is a remarkable exploration of executable art—not a sensible replacement for a conventional programming language.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.