[HN Gopher] Show HN: WalletWallet - create Apple passes from any...
       ___________________________________________________________________
        
       Show HN: WalletWallet - create Apple passes from anything
        
       I got my Apple developer certificate and built a simple app to
       solve a problem I had. One shop I buy from doesn't have Apple
       Wallet passes. Since you need signed certificates to build these
       very simple things, I created a minimal app that signs them. It's
       available if you need it too. It won't scan cards with AI - you
       manually enter the barcode, which I think makes it less prone to
       error.
        
       Author : alentodorov
       Score  : 242 points
       Date   : 2025-12-21 16:04 UTC (6 hours ago)
        
 (HTM) web link (walletwallet.alen.ro)
 (TXT) w3m dump (walletwallet.alen.ro)
        
       | 081guy wrote:
       | This is great! Are you sure you are not violating any ToS for
       | that? I'd hate to see it go
        
         | saxenaabhi wrote:
         | It probably is violating the ToS. But would like to know more.
        
           | jackdh wrote:
           | Unlikely, I've used apps similar to this such as passbook [0]
           | for a while now and they're still up.
           | 
           | [0] https://apps.apple.com/us/app/passbook-wallet-pass-
           | creator/i...
        
           | saagarjha wrote:
           | Nothing wrong with signing a pass
        
       | CraftThatBlock wrote:
       | This also works for Google Wallet, you could change the messaging
       | around it to indicate that.
        
         | alentodorov wrote:
         | nice! don't have an android device to test - did u download it
         | and it worked?
        
           | viiralvx wrote:
           | I did! It worked just fine for my gym pass
        
           | StrangeSound wrote:
           | I wouldn't worry too much about android - you can very easily
           | add cards manually.
        
         | subscribed wrote:
         | OK, stupid question, what is the thing this utility does that
         | can't be achieved with scanning a physical pass with barcode or
         | entering the details manually into a Google Wallet?
         | 
         | Because I don't see the.... utility if it?
         | 
         | Unless this achieves something specific I don't know.
        
           | radicality wrote:
           | I don't know about Google Wallet, but for iOS Wallet, it is
           | not possible to create a new entry there yourself as a normal
           | user. It has to be signed with a $99/yr certificate, so this
           | thing does the signing for you. The utility is that whatever
           | you created now lives with the rest of the passes in one
           | place.
        
       | pseudosavant wrote:
       | This is excellent! Wish the Wallet had this ability built in.
        
       | artificialLimbs wrote:
       | We've been using Apple Wallet (and Google Pay) with bar code
       | scanners with some success, but the bar codes sometimes do not
       | scan correctly and we get garbled or completely wrong data maybe
       | 1 in 20-30 scans. Tried various scanner settings/speeds, etc, no
       | dice so far, and the scanner/pos combo was the one recommended by
       | our processing vendor. Both were among the highest dollar models.
       | This looks like a very cool project!
        
       | amaccuish wrote:
       | As an aside, I find it really sad that, having a de-Googled
       | Anroid phone, it's actually easier for me to download the Apple
       | Wallet .pkpass files
       | 
       | Anything to do with Google Wallet passes just forwards me to a
       | Google login page.
        
         | Semaphor wrote:
         | Condor airlines has an "open with Google wallet" link, that
         | doesn't work because I don't have that app. .pkpass files just
         | work with my foss wallet
        
         | saagarjha wrote:
         | A curious example of a compatibility feature ending up having a
         | much better experience than the thing that they clearly want
         | you to do. Hopefully some Google PM doesn't see this comment
         | and ruin things...
        
       | dickiedyce wrote:
       | Code39 would be really useful ;-)
        
         | corprew wrote:
         | Yeah, Code39 would be really festive.
        
           | x3n0n wrote:
           | Yeah, Code39 would be really festive.
        
         | alentodorov wrote:
         | noted
        
       | fragmede wrote:
       | scanning for barcodes is an easy enough pre-AI computer vision
       | algorithm with OpenCV. AI could "write" that for you!
        
       | alessandropier wrote:
       | Love the idea, thanks for sharing!
       | 
       | One obvious concern here is data privacy, since the pass details
       | are sent to the server. Any chance it would be possible to run
       | everything in the browser, without sending data back to the
       | server?
        
         | alentodorov wrote:
         | not really. the .pkpass needs to be signed. you can build the
         | file locally but you won't be able to load it in apple wallet.
        
           | alessandropier wrote:
           | yeah was expecting that, thanks! do not use my gym pass pls
        
           | zeckalpha wrote:
           | Please be clearer about this on the site!
        
             | matrss wrote:
             | The site is pretty clear: "Free and works in browser",
             | "Processed locally", "Private". But apparently the site
             | (sorry for the harsh word, but I can't interpret it any
             | other way) lies.
        
               | fragmede wrote:
               | "is incorrect" is slightly less harsh, but in this case,
               | I'd call it a lie. It's a rather subtle but important
               | implementation detail. I don't think the author (who is
               | here in this thread) is necessarily malicious because of
               | this, but, well, it's a lie.
        
           | gruez wrote:
           | I'm not exactly sure how passes are signed, but in most
           | digital signature schemes, you only sign the hash of the
           | message, not the actual contents. Therefore you could
           | conceivably do this in a privacy preserving way by only
           | passing in the hash to be signed, which would allow the
           | server to generate a valid signature without knowing the
           | contents.
        
             | alentodorov wrote:
             | Apple Wallet passes use CMS signatures. you're right that
             | only hashes are signed. but Apple requires an official
             | Developer certificate ($99/year) with a private key that
             | can't be exposed to browsers. for true privacy, each user
             | would need their own cert. and defeats the "free" goal. and
             | if you have a dev certificate it's trivial to generate one
             | on your own machine.
        
               | gruez wrote:
               | >Apple Wallet passes use CMS signatures. you're right
               | that only hashes are signed. but Apple requires an
               | official Developer certificate ($99/year) with a private
               | key that can't be exposed to browsers.
               | 
               | Why can't the browser send the hash to the server for
               | signing?
        
               | alentodorov wrote:
               | let me look into it.
        
               | saagarjha wrote:
               | Any chance of allowing me to upload my own keys and doing
               | the signing in the browser? I am sure this is a niche use
               | case but I know how to generate the certificate for this
               | but have been too lazy to make a thing like this for
               | (checks to-do list) something like six years and I'd much
               | rather just use your thing lol
        
               | the_lucifer wrote:
               | Haha, I just made a comment above that I've been sitting
               | on a half done project to do this for around 8 years now.
        
               | alentodorov wrote:
               | that's a good idea. i'll release a BYOK version but don't
               | plan to host it myself. will include a quick run script
               | to run it locally.
        
       | jimkleiber wrote:
       | Maybe a dumb question: if I'm entering a QR code, which info do i
       | put in?
        
         | hopelite wrote:
         | That will vary. It can technically include any text up to a
         | limit, but most likely it will be a URI, but it could be as
         | simple as and account number. You would want to decode the QR
         | (you can likely do that using your phone camera) and that would
         | be the data to enter.
         | 
         | Ideally this tool would simply use the camera to capture the
         | visual code (bar, QR, etc.) and enter it/replicate it.
        
           | alentodorov wrote:
           | agree. implemented QR code scanning using the great
           | html5-qrdecode package so scanning happens locally.
        
       | ivanjermakov wrote:
       | I solved this issue with Wallet Creator:
       | https://apps.apple.com/app/id1486573384
       | 
       | Didn't know it was this simple to just provide a download for
       | prepared file. Is it open source?
        
         | hopelite wrote:
         | I don't see it that way. I would rather have a browser based,
         | one-off tool that can generate a .pkpass served up for local
         | "installation", not installing an app that is necessary to
         | separately manage the passes separately and very well could be
         | tracking its users.
        
           | mbirth wrote:
           | MakePass is an app that creates independent/proper Wallet
           | *.pkpass files. You can completely customise the pass
           | appearance according to Apple's specs.
           | 
           | (Not sure whether the current licensing offerings are worth
           | it, though. I've got grandfathered in from before it had AI
           | support.)
           | 
           | https://pvieito.com
        
             | kimos wrote:
             | This looks like it would work well, but it's a
             | subscription. It makes no sense to charge me a yearly fee
             | to make one pass file for my library card.
        
               | jpalawaga wrote:
               | absolutely ridiculous. $10 for a single pass. I'd pay 99c
               | for this app, and no more. Oh well, $0 it is.
        
           | fragmede wrote:
           | What happens when they website goes away? The app I can save
           | and use locally after the website is defunct.
        
             | CamJN wrote:
             | Well for this particular functionality whatever you use
             | (website, app, etc) must have a valid apple developer
             | certificate, so either the website must be up, the app's
             | backend server must be up, or an offline app's bundled
             | certificate must still be valid. All of these things will
             | eventually stop being true regardless of the form the
             | app/website takes.
        
         | kimos wrote:
         | I tried using this. The camera didn't work in several ways, it
         | didn't understand barcodes, and crashed a half dozen times
         | before I just deleted it.
        
       | thwarted wrote:
       | > _It won 't scan cards with AI - you manually enter the barcode,
       | which I think makes it less prone to error._
       | 
       | This is a very interesting sentence.
       | 
       | I interpret this sentence as saying that manually entering a
       | barcode is less error prone than letting AI do it, that AI would
       | have an unacceptable margin of error (and this is probably an
       | accurate assessment).
       | 
       | But you don't need AI to find or read barcodes. Finding and
       | reading barcodes is a reasonably mature technology that has
       | existed long before AI.
       | 
       | Barcodes exist as a fast, machine readable data transfer format
       | meant to avoid data entry errors by avoiding manual data entry,
       | and yet you've implemented manual entry in order to avoid errors?
       | 
       | Now, if one of the constraints you've put on your implementation
       | is that it work only in the browser and you don't want to have to
       | download a large barcode scanning library to the browser, then it
       | makes sense to implement manual entry. But that has nothing to do
       | with AI.
       | 
       | That being said, there are some barcode reading apps that can be
       | used to prompt for a scan from a web page, and you get the
       | barcode payload back. I've used an app called "bineye" on Android
       | (source on GitHub) that works like this. This helps avoid error
       | prone manual entry and gets the full barcode payload (many
       | barcodes store/encode more information than the human readable
       | text printed next to them).
        
         | alentodorov wrote:
         | i should've been clearer: while browsing i found multiple apps
         | that do this. most use AI to extract data from images and are
         | much more feature-rich - you can photo your boarding pass and
         | it goes straight to wallet. however, i noticed that AI
         | sometimes gets details wrong. for example, when i uploaded just
         | a barcode image, it couldn't create the pass because the model
         | also wanted a "name" field.
        
           | Moto7451 wrote:
           | When I've done similar things in the past I found there was
           | always a library for barcode/QR use cases before such things
           | ended up being built into the OS/Framework I'm in.
           | 
           | https://serratus.github.io/quaggaJS/ seems browser friendly?
           | 
           | Generally I agree with your point on AI fuzziness here not
           | being useful.
        
           | dmd wrote:
           | Could you add Codabar?
           | 
           | edit: oh, I guess you can't, because Apple Wallet doesn't
           | support it.
        
             | alentodorov wrote:
             | i think there's a way but it's hacky. instead of using the
             | barcode property it would add an image based on your
             | inputted codabar.
        
               | dmd wrote:
               | That would be pretty great. I have half a dozen codabar-
               | based cards.
        
         | mcintyre1994 wrote:
         | Ironically if I needed to manually copy the text from a barcode
         | on my phone, I'd take a photo and use Apple's AI to select and
         | copy the text from it.
        
       | the_lucifer wrote:
       | This is such a quick and neat way to get a pass for all the
       | random codes in your wallet.
       | 
       | I've had a long shelved project (>8 years now?) where I was
       | working on a solution to doing this from a mobile device but with
       | loads more customization (including image options for different
       | slots), but the cost effectiveness thanks to the PKPass signing
       | as you noticed, put me off to provide it as a public utility as I
       | was a student then. This gives me motivation to revisit it.
        
         | mbirth wrote:
         | Have a look at MakePass[0] - which sounds exactly like you
         | describe. It allows you to design a pass as per spec.
         | 
         | [0] https://pvieito.com
        
       | emodendroket wrote:
       | I don't think I fully understand the use case for this. What
       | would you use the card for?
        
         | ms7m wrote:
         | A personal use case: my local gym that issues only physical
         | barcode cards -- I used a different app (similar in this style)
         | that allowed me keep it on my apple watch / iPhone instead
        
           | emodendroket wrote:
           | I see, so this is specifically you have a physical, eg,
           | loyalty card that has a barcode, and you want to use the
           | Apple Wallet?
        
             | alentodorov wrote:
             | my use case is a loyalty barcode for a major retailer here.
             | they provided a digital version but you had to download
             | their app or take a picture. apple wallet is convenient, u
             | just double tap and the Wallet loads on screen with full
             | brightness to make it easy to scan. i dont have to keep
             | anymore.
             | 
             | but on apple wallet u can't create your own a pass from a
             | simple scan. creatign the ".pkpass" need a signature from a
             | apple developer account.
        
       | yoan9224 wrote:
       | This is genuinely useful. I have so many loyalty cards that exist
       | only as physical barcodes that stores refuse to look up by phone
       | number.
       | 
       | The privacy concern about sending pass data to the server is
       | valid though. Since .pkpass files need to be cryptographically
       | signed with Apple's certificate, there's no way to generate them
       | purely client-side.
       | 
       | Potential solution: open source the signing code and let users
       | run it locally with their own Apple Developer account ($99/year).
       | Power users would do this, casual users can use your hosted
       | version.
       | 
       | Also works with Google Wallet apparently, which is great for
       | Android users.
        
         | jbverschoor wrote:
         | For loyaltycards there was Stocard, but it got acquired by the
         | toxic company Klarna.
         | 
         | SuperCards is very very similar, and in my opinion more useful
         | than putting everything in Apple Wallet. You get to store a
         | pictures, and everything is in one place. Apple Wallet is
         | already cluttered with tons of creditcards, tickets, etc
        
           | DrewADesign wrote:
           | Weird thing from the pretty ho-hum super cards privacy
           | policy:
           | 
           | > The Service Provider will retain User Provided data for as
           | long as you use the Application and for a reasonable time
           | thereafter. If you'd like them to delete User Provided Data
           | that you have provided via the Application, please contact
           | them at _blub@blob.com_ and they will respond in a reasonable
           | time.
           | 
           | That looks like a placeholder address to me? Not exactly
           | confidence inspiring if so...
        
             | windmark wrote:
             | Looks like they were notified of this miss
             | 
             | > please contact them at support@supercardsapp.com and they
             | will respond in a reasonable time.
             | 
             | https://supercardsapp.com/privacy-policy/privacy
        
       | jacobajit wrote:
       | I wish there were a way to "archive" cards and passes in the
       | Wallet app. I'd be much more likely to pass-ify my life if that
       | were the case.
       | 
       | The Wallet app is just too important and used frequently in time
       | sensitive actions to clutter with cards/passes that I use once
       | every few months. That is, when I'm about to tap to pay, I don't
       | want to infrequently used cards to clutter my payment experience.
       | Likewise, when I'm about to board a flight, I don't want random
       | loyalty cards to clutter the interface.
       | 
       | At the same time, I would really like to keep these occasional
       | cards and passes in Wallet, just not on the main screen. It
       | definitely beats hanging onto these physically, especially
       | because they are in fact infrequently used so I would never carry
       | them around.
       | 
       | It should be a similar distinction to Apple's Home Screen vs App
       | Library for long-term archival.
        
         | pimlottc wrote:
         | It's possible to make a pass with location info so that it pops
         | up on your Home Screen when you're nearby a relevant location
         | (e.g. a store, library, train station, etc). Doesn't seem to be
         | supported by this tool, though.
        
         | mcgrath_sh wrote:
         | I use my password manager for those. The only card I have in my
         | Apple wallet is my grocery card. Otherwise, I go to my password
         | manager and pull up the entry and the attached images. Some, I
         | have just a barcode png. Others I have screenshots of the card
         | from an app/website. This has been a really good balance for
         | me.
         | 
         | As an aside, I tried to use base64 for the images so everything
         | was in text, but decoding with a shortcut was annoying enough I
         | went with the image attachment.
        
       | wateralien wrote:
       | Source? Can we get a repo please?
        
       | listless wrote:
       | I have been looking for something like this for so long! All I
       | wanna do is stop carrying this rec center card around. Perfect.
        
       | StrLght wrote:
       | That's very useful, thanks!
       | 
       | One small-ish feature request: could you please add support for
       | EAN-8?
        
       | shantanulume wrote:
       | This is great am I weird for wanting an app?
        
       | hn111 wrote:
       | One CSS tip: make sure the input fields have a minimum font-size
       | of 16px. That way iOS won't zoom-in the page when focussing one.
        
       | below43 wrote:
       | This is very cool thanks. It would be awesome as a PWA so I can
       | have it installed on my home screen/use it offline (edit: it
       | looks like I misunderstood what the website meant by "runs on the
       | browser" - I didn't it has a server dependency. Even so, it's
       | easy to get Claude to generate a manifest and service worker to
       | make it a PWA).
       | 
       | Also, minor UX feedback. Make the barcode type the first form
       | field.
        
       | viiralvx wrote:
       | This is amazing, thank you! Works with Google Wallet too!
        
       | kimos wrote:
       | This is great. And it send me down the path of trying to get my
       | library card to work.
       | 
       | Turns out it uses a format called Codebar which is from 1972 and
       | not supported by Apple wallet passes. This tool and most of the
       | other linked ones in this thread did not work. (And also tried to
       | charge me a recurring subscription to use once, but that's
       | another issue)
       | 
       | I found this one which generates many other barcode formats and
       | generates them as images as a workaround. That seems to work.
       | 
       | https://apps.apple.com/app/id1423106610
        
       | gorgoiler wrote:
       | Brilliant! Suggestion: most store cards get scanned as a bar code
       | 99% of the time but when calling them they will want you to quote
       | your membership number over the phone. It would be useful to have
       | it printed below the barcode so I can quote it directly from my
       | Apple wallet.
        
       | toobulkeh wrote:
       | I immediately tried this with my Seattle Orca card, but the
       | barcode is different
        
       | Angostura wrote:
       | Just a question about privacy. It says works entirely in browser,
       | but if you load the page, and then switch off mobile data and put
       | the details in, it seems impossible to create the pass without a
       | data
        
       ___________________________________________________________________
       (page generated 2025-12-21 23:00 UTC)