{"id":19731375,"url":"https://github.com/clpsplug/qr-code","last_synced_at":"2026-06-21T18:31:42.241Z","repository":{"id":87856662,"uuid":"291434230","full_name":"Clpsplug/qr-code","owner":"Clpsplug","description":"Me trying to understand how generating QR code works","archived":false,"fork":false,"pushed_at":"2020-11-03T17:14:22.000Z","size":48,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"base","last_synced_at":"2025-02-28T03:31:53.015Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Clpsplug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-30T08:52:54.000Z","updated_at":"2020-11-03T17:14:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"8b6f19d6-f72b-40e3-8d43-1aed68492c2f","html_url":"https://github.com/Clpsplug/qr-code","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Clpsplug/qr-code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fqr-code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fqr-code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fqr-code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fqr-code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Clpsplug","download_url":"https://codeload.github.com/Clpsplug/qr-code/tar.gz/refs/heads/base","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fqr-code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34622271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T00:20:39.625Z","updated_at":"2026-06-21T18:31:42.218Z","avatar_url":"https://github.com/Clpsplug.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WARNING: NOT FOR PRODUCTION USE AT ALL\n\n***Do NOT use this repository in hopes to generating QR codes for productions***, this is untested and buggy af!\n\n# qr-code\n\nMe trying to understand how generating QR code works,\nin search for making [\"Fake QR codes\" that can hold multiple data](https://ieeexplore.ieee.org/abstract/document/8594762/).\n\n# usage\n\n1. run main.py and get `output.csv`\n2. using a spreadsheet program such as Excel, conditional format each cell so that:\n  * cells with 'B' are painted black\n  * cells with 'W' are painted white, while painting the letter white.\n3. Try reading the QR with a device of your preference e.g. your smartphone camera.\n\nAs of writing this README, this code will create a csv file (`output.csv`) that depicts a QR code with the following properties:\n\n|info|data|\n|:--|:--|\n|encoded data|`abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz`|\n|version|5|\n|error correcting strength|Q (`0b11`)|\n|mode|ascii|\n|mask pattern|3 (`0b011`)|\n\n(information above is subject to change very frequently as the development continues)\n\n# Acknowledgements\n\nHuge thanks for [this page (Japanese only)](http://www.swetake.com/qrcode/qr1.html) for step-by-step generation tutorial.\n\n\n# TODO\n\n* Automatic mask decision\n  * Mask ID has to be decided by actually applying masks and analyzing them with a certain cost function.\n* Hold as much constant data as possible\n  * version specs (data code word count, error correcting code word count, RS block length \u0026 count)\n  * divider in GF(2^8) (P(x) = x^8 + x^4 + x^3 + x^2 + 1) for error correcting code generation.\n* Automatic version decision\n\n\n# Known issues\n\n* ***Extremely* buggy.**\n* There are versions that do NOT work.\n  * Version 2, error correcting strength L QR codes has wrong error correction data.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclpsplug%2Fqr-code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclpsplug%2Fqr-code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclpsplug%2Fqr-code/lists"}