The Virtual Card Reader

A free service by mass:werk – media environments,

The «Virtual Card Reader» scans and parses punch card images generated by The Virtual Keypunch.

Select a card-image: or simply drop one or more cards onto the card reader above.


“The Virtual Card Reader” is a free service related to The Virtual Keypunch.

“The Virtual Card Reader” scans and parses any punch card images generated by “The Virtual Keypunch”. All processing is done client-side, no information will be sent to any server. Scanning a card will produce its informative content as text. Additionally, any URL, e-mail-address, or Twitter-name detected in the text will be presented as a working link. (Please mind that these will always be transformed to all lower-case.) Moreover, a link to reproduce the card at The Virtual Keypunch will be generated.

Technically the “The Virtual Card Reader” works as a pseudo-optical scanner by detecting the punch-holes (transparent parts) in the provided image — just like the “real thing”.

All scripts and images © 2012-2013 N. Landsteiner, mass:werk – media environments,


•  HTML5
•  JavaScript
•  CSS
•  hand-crafted bytes & pixels


Drag an drop the image of one or more cards onto the card reader or select a file using the file-input.
Any card will be scanned and the content will be displayed as text.

If there's only a single card, some processing is done on the content:
A URL starting with "www.", "http://", or "https://" will be recognized and presented as a working link. Also, the card reader will detect any mail-address or Twitter-name (starting with "@") provided within the text.

Arithmetic expressions: If a card's information is found to represent an arithmetical expression (numbers, arithmetical operators, parenthesis, optionally padded by one or more equation signs on the left or right), the Virtual Card Reader will attempt to solve this expression. (Both "*" and "X" may be used for multiplications, a point or a comma may be used as a decimal point.)

Search expressions: A search-link to Google60 will be generated for any text prefixed by "SEARCH", or "SEARCHDATA", or "SEARCHTERM", followed by ">", ">>", a colon (":"), and/or any number of spaces/blanks.

If more than one card is supplied, cards maybe sorted by the sequence number (found in columns 73–80), in order to keep a stack's sequence intact (see the checkbox for sorting multiple cards). Sorting is done by EBCDIC codes!

Requirements: A browser supporting the html5-canvas-element, the File-API, and the FileReader-API.


Download this card by dragging it to your desktop or using the contextual menu (right-click the image):

The Virtual Card Reader - Test Card

Download and drop this card onto the Virtual Card Reader to get a Twitter-share-link to this page.
And for another test, here is a link to generate a more complex card at The Virtual Keypunch:
And for yet another test, here is a link to a complete V-Card.


The Virtual Card Reader will generate a base64-encoded link to replicate a scanned card at The Virtual Keypunch.
By calling the page with the URL-parameter ?mode=text this link will be generated using a URL-encoded format, which may be useful for re-editing.

Any non-alphanumeric codes generated using the "MLT PNCH"-key will be represented in IBM/360-column-binary format in little-endian encoding. (See The Virtual Keypunch for details.)

Disclaimer: This page does not contain any analytics, social media buttons, ore any other 3rd-party-API of any kind.


Copyright 2012-2013 Norbert Landsteiner, mass:werk – media environments.
All rights reserved. No copying, no unauthorized providing or hosting.