{"id":"image-naplps","mimeType":"image/naplps","name":"North American Presentation Level Protocol Syntax","shortName":"NAPLPS","category":"Legacy \u0026 Videotex","extensions":[".nap",".naplps"],"description":"The image/naplps MIME type represents the North American Presentation Level Protocol Syntax, an obsolete protocol for encoding vector graphics and text. Developed in the early 1980s from the Canadian Telidon system, NAPLPS was designed for low-bandwidth Videotex services over dial-up modems. Rather than storing a grid of pixels, it uses geometric 'Picture Description Instructions' (PDIs) encoded in ASCII escape sequences to draw scalable lines, polygons, and text, making it famous as the graphics backbone of early online services like Prodigy.","seo":{"title":"image/naplps MIME Type | Developer Reference for NAPLPS Videotex","description":"Complete reference for the image/naplps MIME type: its history in 1980s Videotex systems, ASCII-based vector encoding (PDIs), and legacy software support.","faqs":[{"question":"What is the difference between NAPLPS and ANSI art?","answer":"While both were popular in the 1980s BBS era, ANSI art is strictly character-cell based, relying on text blocks and background colors on a fixed grid. NAPLPS, on the other hand, is a true vector format using Picture Description Instructions (PDIs). It draws geometric shapes (lines, arcs, polygons) based on screen coordinates, meaning NAPLPS graphics are resolution-independent and scale smoothly to any monitor size."},{"question":"Where was the NAPLPS format actually used?","answer":"NAPLPS was the core graphics standard for early 1980s Videotex systems, most notably the Canadian Telidon network and US-based services like Viewtron. Its most widespread consumer adoption was by the Prodigy online service, which used NAPLPS to deliver colorful, graphical user interfaces over extremely slow 300 and 1200 baud modems."},{"question":"Can I view an image/naplps file today?","answer":"Not natively. No modern web browser or standard image viewer supports NAPLPS. Viewing a .nap file requires running a legacy terminal emulator, specialized historical software, or using niche conversion scripts to translate the vector instructions into modern SVG or PNG formats."}]},"index":{"compression":["Uncompressed (Tokenized ASCII Commands)"],"browserSupport":{"score":1,"label":"None"},"commonUses":["1980s Videotex Services","Prodigy Online Service Graphics","Historical BBS Terminal Graphics","Legacy Teletext Broadcasts"]},"technical":{"magicBytes":{"hex":"1B (Variable / ESC sequences)","ascii":"\\x1B"},"container":"NAPLPS Byte Stream","compressionAlgorithm":["None (Coordinate encoding)"],"colorDepth":["16-color palette (Indexed from larger color spaces)"],"transparency":false,"animation":true,"metadata":{"exif":false,"xmp":false,"iccProfile":false},"alphaChannel":false,"progressiveLoading":true,"hdrSupport":false},"history":{"developer":"ANSI / CSA (Based on Canadian CRC's Telidon)","released":"1983","specification":"ANSI X3.110-1983 / CSA T500"},"browserSupport":{"chrome":false,"chromeVersion":"None","firefox":false,"firefoxVersion":"None","safari":false,"safariVersion":"None","edge":false,"edgeVersion":"None","internetExplorer":false},"softwareSupport":[{"name":"Prodigy Client (Legacy)","logo":""},{"name":"Telidon Emulators","logo":""},{"name":"Microstar (Legacy Terminal)","logo":""}],"conversion":{"convertTo":["svg","png","gif"],"convertFrom":[]},"developer":{"httpHeaders":[{"header":"Content-Type","value":"image/naplps"}],"htmlAccept":"image/naplps, .nap","fileDetection":["Due to its nature as a character-oriented data stream, NAPLPS lacks a fixed universal magic header.","Parsers must scan for ISO 2022 escape sequences (typically beginning with Hex 1B / ESC) invoking the geometric PDI instruction sets."]},"prosCons":{"pros":["Extremely bandwidth-efficient, enabling colorful graphical interfaces over early 300 baud dial-up connections","Resolution-independent vector scaling allowed the exact same file to be displayed accurately on varied early PC monitors and television sets"],"cons":["Completely obsolete and unsupported by modern web technologies","Relies heavily on stateful parsing and terminal emulators rather than straightforward file decoding","Easily misidentified by MIME sniffers as plain text or generic binary streams due to the lack of a standardized file header"]},"specifications":{"url":"https://www.iana.org/assignments/media-types/image/naplps","rfc":"","mimeAliases":["image/x-naplps"]},"developerSnippets":{"python":"import magic\n# Libmagic will frequently fail to identify NAPLPS accurately, falling back to 'text/plain' or 'application/octet-stream' due to the ASCII control codes.\nprint(magic.from_file('graphic.nap', mime=True))","nodejs":"const FileType = require('file-type');\nconst type = await FileType.fromFile('graphic.nap');\nconsole.log(type?.mime); // Modern libraries usually do not carry definitions for NAPLPS.","go":"import \"net/http\"\n// http.DetectContentType will not recognize the geometric instruction sets and will generally default to \"application/octet-stream\".","php":"$mime = mime_content_type('graphic.nap');\necho $mime; // Standard setups will likely report generic text or binary types depending on the initial bytes."},"relatedFormats":["svg","cgm"]}
