PageSourceSearch

https://www.iwant2eat.com/guides

html iwant2eat.com collected 2026-09-24 14:45:28 UTC 56,298 bytes, 634 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en" dir="ltr"><head><meta charset="utf-8">
3    <meta name="viewport" content="width=device-width, initial-scale=1.0">
4    <meta name="theme-color" content="#5a9e2f">
5    
5<script>
6        (function () {
7            try {
8                if (!window.ReactNativeWebView && !window.__iweNative) return;
9                document.documentElement.setAttribute('data-native-app', '1');
10                // The pricing page IS the purchase flow, so there is nothing on
11                // it to keep. Replace rather than assign: no back-button trap.
12                if (location.pathname.toLowerCase().replace(/\/+$/, '') === '/pricing') {
13                    location.replace('/');
14                }
15            } catch (_) { /* a browser, or a locked-down one: leave the site alone */ }
16        })();
17    </script>
17
18    <meta property="fb:app_id" content="1589492488828826">
19    <meta name="facebook-domain-verification" content="7qmt89rygdcnet70qbcbb0q53c2w1g">
20    <meta name="apple-mobile-web-app-capable" content="yes">
21    <meta name="apple-mobile-web-app-status-bar-style" content="default">
22    <meta name="apple-mobile-web-app-title" content="iwant2eat">
23    <meta name="mobile-web-app-capable" content="yes">
24    <base href="/">
25    <link rel="icon" type="image/png" sizes="192x192" href="/brand/icon-192.png">
26    <link rel="icon" type="image/png" sizes="32x32" href="/brand/favicon-32.png">
27    <link rel="alternate icon" href="/favicon.ico">
28    <link rel="apple-touch-icon" sizes="180x180" href="/brand/apple-touch-icon.png">
29    <link rel="manifest" href="/site.webmanifest">
30    
30<script>
31        (function () {
32            'use strict';
33            // Don't remember auth flows, the offline shell, error pages, or
34            // raw API/util endpoints — restoring any of those would be worse
35            // than just opening home.
36            var SKIP = /^\/(shell|offline-shell\.html|Account|Identity|Error|api|avatar|version|set-lang|connect|signin-|signout)/i;
37            function restorable(path) {
38                return typeof path === 'string' && path.charAt(0) === '/' && !SKIP.test(path);
39            }
40            function save() {
41                try {
42                    if (restorable(location.pathname)) {
43                        localStorage.setItem('iwe.lastPath', location.pathname + location.search);
44                    }
45                } catch (e) { /* private mode / storage disabled — ignore */ }
46            }
47            ['pushState', 'replaceState'].forEach(function (name) {
48                var orig = history[name];
49                if (typeof orig !== 'function') return;
50                history[name] = function () {
51                    var r = orig.apply(this, arguments);
52                    save();
53                    return r;
54                };
55            });
56            window.addEventListener('popstate', save);
57            // Blazor enhanced navigation fires this after swapping the DOM.
58            document.addEventListener('enhancedload', save);
59            save();
60        })();
61    </script>
61
62    
62<script>
63        (function () {
64            'use strict';
65            var mql = window.matchMedia('(max-width: 560px)');
66            function apply() {
67                var els = document.querySelectorAll('input[data-ph-short]');
68                for (var i = 0; i < els.length; i++) {
69                    var el = els[i];
70                    if (!el.dataset.phFull) el.dataset.phFull = el.getAttribute('placeholder') || '';
71                    el.setAttribute('placeholder', mql.matches ? (el.dataset.phShort || el.dataset.phFull) : el.dataset.phFull);
72                }
73            }
74            // Re-run a few times after a (enhanced) navigation so we catch the
75            // input even when an interactive component mounts it a tick later.
76            function applySoon() { apply(); setTimeout(apply, 200); setTimeout(apply, 800); }
77            if (mql.addEventListener) mql.addEventListener('change', apply);
78            else if (mql.addListener) mql.addListener(apply);
79            document.addEventListener('enhancedload', applySoon);
80            window.addEventListener('load', applySoon);
81            applySoon();
82        })();
83    </script>
83
84    
84<script>
85        (function () {
86            'use strict';
87            var host = location.hostname || '';
88            var isStage = /^stage\./i.test(host) || /\.trycloudflare\.com$/i.test(host);
89            if (!isStage) return;
90            var PREFIX = 'STAGE - ';
91            function apply() {
92                var t = document.title || '';
93                // No page title yet (before the <title> parses, or the empty
94                // gap during an enhanced-nav swap) — leave it. Prefixing an
95                // empty title yields a bare "STAGE - " whose trailing space the
96                // browser trims back to "STAGE -", which then fails a literal
97                // PREFIX check and double-prefixes into "STAGE - STAGE -".
98                if (!t) return;
99                // Already prefixed. Trim-safe (matches both "STAGE - x" and the
100                // trailing-space-stripped "STAGE -") so we never re-apply.
101                if (/^STAGE -/.test(t)) return;
102                document.title = PREFIX + t;
103            }
104            apply();
105            try {
106                var mo = new MutationObserver(apply);
107                mo.observe(document.head || document.documentElement,
108                    { childList: true, subtree: true, characterData: true });
109            } catch (_) { /* no MutationObserver — first-paint prefix still applied */ }
110            document.addEventListener('enhancedload', apply);
111        })();
112    </script>
112<meta name="iwe-session-lost-text" content="Your session has ended. Sign in again to see your recipes." />
113    <meta name="iwe-session-lost-cta" content="Sign in" />
114    
115    <link rel="stylesheet" href="/fonts/lora/lora.css">
116    <link rel="stylesheet" href="/fonts/caveat/caveat.css">
117    <link rel="stylesheet" href="app.g0i1m63mv2.css" />
118    <link rel="stylesheet" href="css/themes.my8wepgavo.css" />
119    <link rel="stylesheet" href="css/redesign.5mpghn5smd.css" />
120    <link rel="stylesheet" href="css/recipe-detail.oqv9v7u77l.css" />
121    <link rel="stylesheet" href="IWant2Eat.Web.fuy6buppbu.styles.css" />
122    
122<script type="importmap">{
123  "imports": {
124    "./Components/Layout/ReconnectModal.razor.js": "./Components/Layout/ReconnectModal.5iaswfb9pn.razor.js",
125    "./_framework/blazor.server.js": "./_framework/blazor.server.dwu72t6gfx.js",
126    "./_framework/blazor.web.js": "./_framework/blazor.web.9hsif5t8mt.js",
127    "./_framework/dotnet.native.js": "./_framework/dotnet.native.b6l13xorvf.js",
128    "./_framework/dotnet.runtime.js": "./_framework/dotnet.runtime.v06hirbjsv.js",
129    "./_framework/dotnet.js": "./_framework/dotnet.zuf4rdtlhz.js",
130    "./js/account-deleted.js": "./js/account-deleted.wa3gmw54bc.js",
131    "./js/add-btn-drop.js": "./js/add-btn-drop.ah4e54jj3x.js",
132    "./js/ai-alerts.js": "./js/ai-alerts.yam1hxr0k5.js",
133    "./js/analytics.js": "./js/analytics.dbdjnyqt7e.js",
134    "./js/card-drop.js": "./js/card-drop.0zbfcnsohp.js",
135    "./js/card-longpress.js": "./js/card-longpress.xvkzaape1m.js",
136    "./js/card-nav-fallback.js": "./js/card-nav-fallback.2ghcdzqrhw.js",
137    "./js/col-resize.js": "./js/col-resize.7axw9mih4z.js",
138    "./js/contact-picker.js": "./js/contact-picker.u4n4v0bzi5.js",
139    "./js/cook-listen.js": "./js/cook-listen.sz2k8rsfyi.js",
140    "./js/cook-tts.js": "./js/cook-tts.kppf2b77ba.js",
141    "./js/ctx-menu-clamp.js": "./js/ctx-menu-clamp.o9t2943fbv.js",
142    "./js/dev-fake-offline.js": "./js/dev-fake-offline.53s2nvmek1.js",
143    "./js/error-reporter.js": "./js/error-reporter.lpaon3icqs.js",
144    "./js/extension-banner.js": "./js/extension-banner.6r9rsgt4sg.js",
145    "./js/footer-buildstamp.js": "./js/footer-buildstamp.p0kwebuj2g.js",
146    "./js/geo-store.js": "./js/geo-store.bymqbj5izk.js",
147    "./js/hh-longpress.js": "./js/hh-longpress.q9dy3mob1q.js",
148    "./js/html2pdf.bundle.min.js": "./js/html2pdf.bundle.min.pvdha3938a.js",
149    "./js/ing-edit-delay.js": "./js/ing-edit-delay.d4786nf75t.js",
150    "./js/install-prompt.js": "./js/install-prompt.tumv8yl31y.js",
151    "./js/ios-shortcut-banner.js": "./js/ios-shortcut-banner.yhme3rr5h0.js",
152    "./js/iwe-offline.js": "./js/iwe-offline.b9eni71xu6.js",
153    "./js/iwe-print.js": "./js/iwe-print.8nqc6k623e.js",
154    "./js/keep-awake-ui.js": "./js/keep-awake-ui.srn3wmx03d.js",
155    "./js/menu-dismiss.js": "./js/menu-dismiss.3fd8ycjv95.js",
156    "./js/native-bridge.js": "./js/native-bridge.h1wov55x50.js",
157    "./js/nav-scroll.js": "./js/nav-scroll.z7inkc8n82.js",
158    "./js/nav-watchdog.js": "./js/nav-watchdog.fupe1nn511.js",
159    "./js/offline-shell.js": "./js/offline-shell.69a9uk8b52.js",
160    "./js/paprika-drop.js": "./js/paprika-drop.dl11mqpt3k.js",
161    "./js/password-toggle.js": "./js/password-toggle.plun6cicut.js",
162    "./js/paste-handler.js": "./js/paste-handler.bi3rwqswpn.js",
163    "./js/prefs.js": "./js/prefs.k3ir0fkg2u.js",
164    "./js/prevent-drop.js": "./js/prevent-drop.vbs19cu0tp.js",
165    "./js/recipe-drop.js": "./js/recipe-drop.1q5jo1d5fs.js",
166    "./js/recipe-format.js": "./js/recipe-format.ug9289yphx.js",
167    "./js/recipe-video.js": "./js/recipe-video.iy7pc2asts.js",
168    "./js/social-share.js": "./js/social-share.y68texoyml.js",
169    "./js/step-check.js": "./js/step-check.i9fw7teo44.js",
170    "./js/sw-reload.js": "./js/sw-reload.d7wpcgaail.js",
171    "./js/sync-auto.js": "./js/sync-auto.9djpypdbu7.js",
172    "./js/sync-ui.js": "./js/sync-ui.nqft9xrfni.js",
173    "./js/sync.js": "./js/sync.nsxs4o9i6h.js",
174    "./js/tag-drop-touch.js": "./js/tag-drop-touch.t9crimk8eb.js",
175    "./js/tap-haptics.js": "./js/tap-haptics.5cxr9u3gw4.js",
176    "./js/theme.js": "./js/theme.amjygw6y4u.js",
177    "./js/tree-hover.js": "./js/tree-hover.d74cuv51yy.js",
178    "./js/wake-lock.js": "./js/wake-lock.vpgxtic9mu.js",
179    "./service-worker.js": "./service-worker.4vipx70gxv.js",
180    "_framework/resource-collection.js": "./_framework/resource-collection.eNxRU.js",
181    "_framework/resource-collection.js.gz": "./_framework/resource-collection.eNxRU.js.gz"
182  },
183  "integrity": {
184    "./Components/Layout/ReconnectModal.5iaswfb9pn.razor.js": "sha256-LdCyVM1X+W4b3Q9SONhIDbt6rnzZsGxMPHGW2BqB6Y8=",
185    "./Components/Layout/ReconnectModal.razor.js": "sha256-LdCyVM1X+W4b3Q9SONhIDbt6rnzZsGxMPHGW2BqB6Y8=",
186    "./Identity/js/site.js": "sha256-hRQyftXiu1lLX2P9Ly9xa4gHJgLeR1uGN5qegUobtGo=",
187    "./Identity/lib/bootstrap/dist/js/bootstrap.bundle.js": "sha256-mkoRoV24jV+rCPWcHD
187R5awPx8VuzzJKN0ibhxZ9/WaM=",
188    "./Identity/lib/bootstrap/dist/js/bootstrap.bundle.min.js": "sha256-CDOy6cOibCWEdsRiZuaHf8dSGGJRYuBGC+mjoJimHGw=",
189    "./Identity/lib/bootstrap/dist/js/bootstrap.esm.js": "sha256-exiXZNJDwucXfuje3CbXPbuS6+Ery3z9sP+pgmvh8nA=",
190    "./Identity/lib/bootstrap/dist/js/bootstrap.esm.min.js": "sha256-QZdFT1ZNdly4rmgUBtXmXFS9BU1FTa+sPe6h794sFRQ=",
191    "./Identity/lib/bootstrap/dist/js/bootstrap.js": "sha256-+UW802wgVfnjaSbdwyHLlU7AVplb0WToOlvN1CnzIac=",
192    "./Identity/lib/bootstrap/dist/js/bootstrap.min.js": "sha256-3gQJhtmj7YnV1fmtbVcnAV6eI4ws0Tr48bVZCThtCGQ=",
193    "./Identity/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.js": "sha256-wJQaJ0XynBE2fq6CexXXhxKu7fstVmQc7V2MHNTo+WQ=",
194    "./Identity/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js": "sha256-YJa7W8EiQdQpkk93iGEjjnLSUWRpRJbSfzfURh1kxz4=",
195    "./Identity/lib/jquery-validation/dist/additional-methods.js": "sha256-XL6yOf4sfG2g15W8aB744T4ClbiDG4IMGl2mi0tbzu0=",
196    "./Identity/lib/jquery-validation/dist/additional-methods.min.js": "sha256-jhvKRxZo6eW/PyCe+4rjBLzqesJlE8rnyQGEjk8l2k8=",
197    "./Identity/lib/jquery-validation/dist/jquery.validate.js": "sha256-kRL82372ur5YrVTjFWp9muao9yeU8AoLiJxSb5ekmHg=",
198    "./Identity/lib/jquery-validation/dist/jquery.validate.min.js": "sha256-umbTaFxP31Fv6O1itpLS/3+v5fOAWDLOUzlmvOGaKV4=",
199    "./Identity/lib/jquery/dist/jquery.js": "sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=",
200    "./Identity/lib/jquery/dist/jquery.min.js": "sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=",
201    "./Identity/lib/jquery/dist/jquery.slim.js": "sha256-UgvvN8vBkgO0luPSUl2s8TIlOSYRoGFAX4jlCIm9Adc=",
202    "./Identity/lib/jquery/dist/jquery.slim.min.js": "sha256-kmHvs0B+OpCW5GVHUNjv9rOmY0IvSIRcf7zGUDTDQM8=",
203    "./_framework/blazor.server.dwu72t6gfx.js": "sha256-Lc5OPalQJm9BAlnrUqnpkrh1LpQXi5KqbcuMnfqzZ6g=",
204    "./_framework/blazor.server.js": "sha256-Lc5OPalQJm9BAlnrUqnpkrh1LpQXi5KqbcuMnfqzZ6g=",
205    "./_framework/blazor.web.9hsif5t8mt.js": "sha256-UyxcGqcLON35RjdHgX1tr8QrjPLgL0P1EaXSRUokmko=",
206    "./_framework/blazor.web.js": "sha256-UyxcGqcLON35RjdHgX1tr8QrjPLgL0P1EaXSRUokmko=",
207    "./_framework/blazor.webassembly.js": "sha256-1xlHuu1iNOJiMMz2BCq95uekwHf6pdpTcgVNKVBboPs=",
208    "./_framework/dotnet.js": "sha256-tXeh3BvfBiuKojKTFt9DNMGZLYEOFx25aWCX4MkpLFM=",
209    "./_framework/dotnet.native.b6l13xorvf.js": "sha256-jZddobLBM2C3lQhYQ61xSQJ/WqD3eQCO3RzoHGaOjx0=",
210    "./_framework/dotnet.native.js": "sha256-jZddobLBM2C3lQhYQ61xSQJ/WqD3eQCO3RzoHGaOjx0=",
211    "./_framework/dotnet.runtime.js": "sha256-QbnqrZGHtGq7wudS17/AYEPpH9JkphrsyVllD6JHmds=",
212    "./_framework/dotnet.runtime.v06hirbjsv.js": "sha256-QbnqrZGHtGq7wudS17/AYEPpH9JkphrsyVllD6JHmds=",
213    "./_framework/dotnet.zuf4rdtlhz.js": "sha256-tXeh3BvfBiuKojKTFt9DNMGZLYEOFx25aWCX4MkpLFM=",
214    "./js/account-deleted.js": "sha256-uBqzC67uZcoqpZy5ooggkt++EvQMZEFcU9BtKbKOyBs=",
215    "./js/account-deleted.wa3gmw54bc.js": "sha256-uBqzC67uZcoqpZy5ooggkt++EvQMZEFcU9BtKbKOyBs=",
216    "./js/add-btn-drop.ah4e54jj3x.js": "sha256-LrN409ZXsflKWZJHsXFLtv3RsvjufzqxjzvbNadofFg=",
217    "./js/add-btn-drop.js": "sha256-LrN409ZXsflKWZJHsXFLtv3RsvjufzqxjzvbNadofFg=",
218    "./js/ai-alerts.js": "sha256-1lPNx0EpOyXS8vVK0US6HOtS/wqwA5JbO+2xuevDtoQ=",
219    "./js/ai-alerts.yam1hxr0k5.js": "sha256-1lPNx0EpOyXS8vVK0US6HOtS/wqwA5JbO+2xuevDtoQ=",
220    "./js/analytics.dbdjnyqt7e.js": "sha256-1xaHC4hP1RjIQNh5UvJHk+jboysJdi6SvzwbiAIcNbk=",
221    "./js/analytics.js": "sha256-1xaHC4hP1RjIQNh5UvJHk+jboysJdi6SvzwbiAIcNbk=",
222    "./js/card-drop.0zbfcnsohp.js": "sha256-XPLzwrn8+SEfzFsOYYRP8HB1qgiOAdKsdA82kfvMIzo=",
223    "./js/card-drop.js": "sha256-XPLzwrn8+SEfzFsOYYRP8HB1qgiOAdKsdA82kfvMIzo=",
224    "./js/card-longpress.js": "sha256-g+nC7bh59oyxvK4qIIw7A28QI7cPCm45g+OVbU8kNjY=",
225    "./js/card-longpress.xvkzaape1m.js": "sha256-g+nC7bh59oyxvK4qIIw7A28QI7cPCm45g+OVbU8kNjY=",
226    "./js/card-nav-fallback.2ghcdzqrhw.js": "sha256-riN8mCV75dqP9UOgbguIi85cNvci374j52BzBb8ee5A=",
227    "./js/card-nav-fallback.js": "sha256-riN8mCV75dqP9UOgbguIi85cNvci374j52BzBb8ee5A=",
228    "./js/col-resize.7axw9mih4z.js": "sha256-f5EpqTGRXQlO5Uw88YIVoNMBFXTT6u8cufXmInKWN4g=",
229    "./js/col-resize.js": "sha256-f5EpqTGRXQlO5Uw88YIVoNMBFXTT6u8cufXmInKWN4g=",
230    "./js/contact-picker.js": "sha256-4sKT2bOCNIekTsROFhKzpnFh/fUForyr0pzJtqnc+EU=",
231    "./js/contact-picker.u4n4v0bzi5.js": "sha256-4sKT2bOCNIekTsROFhKzpnFh/fUForyr0pzJtqnc+EU=",
232    "./js/cook-listen.js": "sha256-2N9fiV7VUK2/OGtY5M/nVT/E+VWiEgWKGPYl8xepCyw=",
233    "./js/cook-listen.sz2k8rsfyi.js": "sha256-2N9fiV7VUK2/OGtY5M/nVT/E+VWiEgWKGPYl8xepCyw=",
234    "./js/cook-tts.js": "sha256-GFKci1GS07j76BEY4oljLPvXT9rJfvZ/OVCKCchYX/Q=",
235    "./js/cook-tts.kppf2b77ba.js": "sha256-GFKci1GS07j76BEY4oljLPvXT9rJfvZ/OVCKCchYX/Q=",
236    "./js/ctx-menu-clamp.js": "sha256-VNbiZUWtjeqdm5k6gd3T3Y8OeFMCuN0FrG0DZZplcPU=",
237    "./js/ctx-menu-clamp.o9t2943fbv.js": "sha256-VNbiZUWtjeqdm5k6gd3T3Y8OeFMCuN0FrG0DZZplcPU=",
238    "./js/dev-fake-offline.53s2nvmek1.js": "sha256-sS200mAdjhFIY2I9Wkv7lPN6pFYf4eu7ia+IGMxNdsw=",
239    "./js/dev-fake-offline.js": "sha256-sS200mAdjhFIY2I9Wkv7lPN6pFYf4eu7ia+IGMxNdsw=",
240    "./js/error-reporter.js": "sha256-Oc+C8dzF1BsLZyMZ/oLBDAAYhkmdKf6zO+Rp0fzLa+4=",
241    "./js/error-reporter.lpaon3icqs.js": "sha256-Oc+C8dzF1BsLZyMZ/oLBDAAYhkmdKf6zO+Rp0fzLa+4=",
242    "./js/extension-banner.6r9rsgt4sg.js": "sha256-IhYVYp1+hGwZbob2aocCZrdRKAanckMTP0lf3VWci8U=",
243    "./js/extension-banner.js": "sha256-IhYVYp1+hGwZbob2aocCZrdRKAanckMTP0lf3VWci8U=",
244    "./js/footer-buildstamp.js": "sha256-p1iIPqgACcn89UAikm+4/7bOv1iVNUjBj/wp6QJhxc4=",
245    "./js/footer-buildstamp.p0kwebuj2g.js": "sha256-p1iIPqgACcn89UAikm+4/7bOv1iVNUjBj/wp6QJhxc4=",
246    "./js/geo-store.bymqbj5izk.js": "sha256-s921PRE96qhWVguACKUzg1+cIiAo1aKHvl4U4XUBcg0=",
247    "./js/geo-store.js": "sha256-s921PRE96qhWVguACKUzg1+cIiAo1aKHvl4U4XUBcg0=",
248    "./js/hh-longpress.js": "sha256-rrJ+e4aK+Ak5i7Yryu8eTCvueYRgYB4FB4AAuJ6Gys0=",
249    "./js/hh-longpress.q9dy3mob1q.js": "sha256-rrJ+e4aK+Ak5i7Yryu8eTCvueYRgYB4FB4AAuJ6Gys0=",
250    "./js/html2pdf.bundle.min.js": "sha256-hebunOJG465EJDE/fkal7YYKKNdXgR3o3JxD8wYEnWU=",
251    "./js/html2pdf.bundle.min.pvdha3938a.js": "sha256-hebunOJG465EJDE/fkal7YYKKNdXgR3o3JxD8wYEnWU=",
252    "./js/ing-edit-delay.d4786nf75t.js": "sha256-DQiTwDtqILUNltG9DMQgiLSBV4U8IDY4o4pM7gH3bM4=",
253    "./js/ing-edit-delay.js": "sha256-DQiTwDtqILUNltG9DMQgiLSBV4U8IDY4o4pM7gH3bM4=",
254    "./js/install-prompt.js": "sha256-i5oCs7VXRrqHGLdfwM79aIY7AnADcSYtrKC7jSJNjRQ=",
255    "./js/install-prompt.tumv8yl31y.js": "sha256-i5oCs7VXRrqHGLdfwM79aIY7AnADcSYtrKC7jSJNjRQ=",
256    "./js/ios-shortcut-banner.js": "sha256-ZojFvOTwBugxODU6lxDWGYyaLhSNwFxk19T/W6uNEzM=",
257    "./js/ios-shortcut-banner.yhme3rr5h0.js": "sha256-ZojFvOTwBugxODU6lxDWGYyaLhSNwFxk19T/W6uNEzM=",
258    "./js/iwe-offline.b9eni71xu6.js": "sha256-78WjDWTGrc0E7GA6kQkup90JQPBZMUgyh0qZHxvwN4E=",
259    "./js/iwe-offline.js": "sha256-78WjDWTGrc0E7GA6kQkup90JQPBZMUgyh0qZHxvwN4E=",
260    "./js/iwe-print.8nqc6k623e.js": "sha256-HHh2aY/kb7O2OiZUr/Fjj5TAvWC2cZl7vLDwgFaBcDk=",
261    "./js/iwe-print.js": "sha256-HHh2aY/kb7O2OiZUr/Fjj5TAvWC2cZl7vLDwgFaBcDk=",
262    "./js/keep-awake-ui.js": "sha256-6BxH3XL7qifC2rAG15Qq1reXDeQnXGuHoIpVFqkxac8=",
263    "./js/keep-awake-ui.srn3wmx03d.js": "sha256-6BxH3XL7qifC2rAG15Qq1reXDeQnXGuHoIpVFqkxac8=",
264    "./js/menu-dismiss.3fd8ycjv95.js": "sha256-7/ehbBIw63tF+hE+M+hRz53HxRYqraM+Y0+qNxvF8JM=",
265    "./js/menu-dismiss.js": "sha256-7/ehbBIw63tF+hE+M+hRz53HxRYqraM+Y0+qNxvF8JM=",
266    "./js/native-bridge.h1wov55x50.js": "sha256-NfvnAaRYJnV5YYqjp4kSJdyJ+bXJcbfYXjlo6MCRXtM=",
267    "./js/native-bridge.js": "sha256-NfvnAaRYJnV5YYqjp4kSJdyJ+bXJcbfYXjlo6MCRXtM=",
268    "./js/nav-scroll.js": "sha256-AcBu7iShvIKVwlw9gLxJ5Zms6ekG9pYWdLRG41b5P4w=",
269    "./js/nav-scroll.z7inkc8n82.js": "sha256-AcBu7iShvIKVwlw9gLxJ5Zms6ekG9pYWdLRG41b5P4w=",
270    "./js/nav-watchdog.fupe1nn511.js": "sha256-qXjQzZRfM1PsUEqiObiXrYybomwNJQdSjLoaNQjB2kc=",
271    "./js/nav-watchdog.js": "sha256-qXjQzZRfM1PsUEqiObiXrYybomwNJQdSjLoaNQjB2kc=",
272    "./js/offline-shell.69a9uk8b52.js": "sha256-KoquYEycxUswUmpGfouU4zmGTqK7mVBG5Qf2rl41Nlk=",
273    "./js/offline-shell.js": "sha256-KoquYEycxUswUmpGfouU4zmGTqK7mVBG5Qf2rl41Nlk=",
274    "./js/paprika-drop.dl11mqpt3k.js": "sha256-UQxCCwp1j1ZjlUqoikliRDCqJ93ZWO66seMoWgAZAyc=",
275    "./js/paprika-drop.js": "sha256-UQxCCwp1j1ZjlUqoikliRDCqJ93ZWO66seMoWgAZAyc=",
276    "./js/password-toggle.js": "sha256-U29JI3VmehXmtP+8P5SNx4FtyuwAFJA3GWdue84F1r8=",
277    "./js/password-toggle.plun6cicut.js": "sha256-U29JI3VmehXmtP+8P5SNx4FtyuwAFJA3GWdue84F1r8=",
278    "./js/paste-handler.bi3rwqswpn.js": "sha256-g9K+nG4VLqsF+k8w/P1JmCm0jHaD69lMcoc62D56uf4=",
279    "./js/paste-handler.js": "sha256-g9K+nG4VLqsF+k8w/P1JmCm0jHaD69lMcoc62D56uf4=",
280    "./js/prefs.js": "sha256-YHB+eLIzV0ENU35pzl+8tnTYk2V7aO576liTXAQvyJY=",
281    "./js/prefs.k3ir0fkg2u.js": "sha256-YHB+eLIzV0ENU35pzl+8tnTYk2V7aO576liTXAQvyJY=",
282    "./js/prevent-drop.js": "sha256-VYFzXVGUONHCvi9nib6YdtNcZNrW+Grbd7tKvX39gu8=",
283    "./js/prevent-drop.vbs19cu0tp.js": "sha256-VYFzXVGUONHCvi9nib6YdtNcZNrW+Grbd7tKvX39gu8=",
284    "./js/recipe-drop.1q5jo1d5fs.js": "sha256-R5AGQmiouM/0z32PQsvq3PnzOOXxMxUP6Rwelh4wUH0=",
285    "./js/recipe-drop.js": "sha256-R5AGQmiouM/0z32PQsvq3PnzOOXxMxUP6Rwelh4wUH0=",
286    "./js/recipe-format.js": "sha256-bsgXClV+S9cCBmaYEew41A+5mNVfmq88Scl5Hvrkia8=",
287    "./js/recipe-format.ug9289yphx.js": "sha256-bsgXClV+S9cCBmaYEew41A+5mNVfmq88Scl5Hvrkia8=",
288    "./js/recipe-video.iy7pc2asts.js": "sha256-dpdSf9ho5DPlRk5Kl43AcLw8NDPAnEVu/lYLZ5LJQuM=",
289    "./js/recipe-video.js": "sha256-dpdSf9ho5DPlRk5Kl43AcLw8NDPAnEVu/lYLZ5LJQuM=",
290    "./js/social-share.js": "sha256-Rj/dfNpKIf/xNDuo7oxWYqBBXfIB8Rc9XmpU3mBvotM=",
291    "./js/social-share.y68texoyml.js": "sha256-Rj/dfNpKIf/xNDuo7oxWYqBBXfIB8Rc9XmpU3mBvotM=",
292    "./js/step-check.i9fw7teo44.js": "sha256-RvBbSz6JwH4SI3XxUwpKhCtJmEfkGUT186qbBeXg1qA=",
293    "./js/step-check.js": "sha256-RvBbSz6JwH4SI3XxUwpKhCtJmEfkGUT186qbBeXg1qA=",
294    "./js/sw-reload.d7wpcgaail.js": "sha256-t6TkJIvbleuQwDYcz3Pt5yEYqyEz+8rsssJ0BChfb5Y=",
295    "./js/sw-reload.js": "sha256-t6TkJIvbleuQwDYcz3Pt5yEYqyEz+8rsssJ0BChfb5Y=",
296    "./js/sync-auto.9djpypdbu7.js": "sha256-TSQOsvsCPnBsPQs4yUVOZIDLHMGT4oAdEuK9i6QdweQ=",
297    "./js/sync-auto.js": "sha256-TSQOsvsCPnBsPQs4yUVOZIDLHMGT4oAdEuK9i6QdweQ=",
298    "./js/sync-ui.js": "sha256-7zEWsWIorXULlPgXtednMFpsfFsIctoOcJ2iW6g9ByE=",
299    "./js/sync-ui.nqft9xrfni.js": "sha256-7zEWsWIorXULlPgXtednMFpsfFsIctoOcJ2iW6g9ByE=",
300    "./js/sync.js": "sha256-6XHT3U2oacP+jrHwwgmP1XFJrOL95dW1E357jPhhMK4=",
301    "./js/sync.nsxs4o9i6h.js": "sha256-6XHT3U2oacP+jrHwwgmP1XFJrOL95dW1E357jPhhMK4=",
302    "./js/tag-drop-touch.js": "sha256-H987DMlY41/mrP8nytsf+4bi0GPcoU8eMnaavlqaeOs=",
303    "./js/tag-drop-touch.t9crimk8eb.js": "sha256-H987DMlY41/mrP8nytsf+4bi0GPcoU8eMnaavlqaeOs=",
304    "./js/tap-haptics.5cxr9u3gw4.js": "sha256-hfIqOMdsF/YkgnveZTevc6FS7c88cdG7o2p25e/vgvE=",
305    "./js/tap-haptics.js": "sha256-hfIqOMdsF/YkgnveZTevc6FS7c88cdG7o2p25e/vgvE=",
306    "./js/theme.amjygw6y4u.js": "sha256-Lvjt5QL2AzbtCGtosBUIbl1kSExgIPMkDnzQf8M4VNQ=",
307    "./js/theme.js": "sha256-Lvjt5QL2AzbtCGtosBUIbl1kSExgIPMkDnzQf8M4VNQ=",
308    "./js/tree-hover.d74cuv51yy.js": "sha256-txXpZBGLvrW7VJbuQvJihS+KKrJ26BdMy5tk55hvK0U=",
309    "./js/tree-hover.js": "sha256-txXpZBGLvrW7VJbuQvJihS+KKrJ26BdMy5tk55hvK0U=",
310    "./js/wake-lock.js": "sha256-45dhcvH2dE5jH39U76tHkwPJe+e5VKv0hcU5iyRhjHA=",
311    "./js/wake-lock.vpgxtic9mu.js": "sha256-45dhcvH2dE5jH39U76tHkwPJe+e5VKv0hcU5iyRhjHA=",
312    "./service-worker.4vipx70gxv.js": "sha256-wGhLElFbWUUIIsvDxyOfkKDjNElebc+0tH67F7kQ1H8=",
313    "./service-worker.js": "sha256-wGhLElFbWUUIIsvDxyOfkKDjNElebc+0tH67F7kQ1H8=",
314    "./_framework/resource-collection.eNxRU.js": "sha256-3JXV0tKqXFgDulyYE3lE6OXcvm3XuXOyCoHSoVaCBvo=",
315    "./_framework/resource-collection.eNxRU.js.gz": "sha256-3JXV0tKqXFgDulyYE3lE6OXcvm3XuXOyCoHSoVaCBvo="
316  }
317}</script>
317
318    <title>Recipe-organizing guides — iwant2eat</title><meta name="description" content="Practical guides to organizing, saving, digitizing, and translating recipes — plus honest comparisons of recipe apps like Paprika, AnyList, and Yummly.">
319    <link rel="canonical" href="https://www.iwant2eat.com/guides">
320
321    <meta property="og:type" content="website">
322    <meta property="og:site_name" content="iwant2eat">
323    <meta property="og:url" content="https://www.iwant2eat.com/guides">
324    <meta property="og:title" content="Recipe-organizing guides — iwant2eat">
325    <meta property="og:description" content="How to organize recipe screenshots, save recipes from email, digitize handwritten cards, translate and convert recipes, and more.">
326    <meta property="og:image" content="https://www.iwant2eat.com/brand/shot-recipes.png">
327
328    <meta name="twitter:card" content="summary_large_image">
329    <meta name="twitter:title" content="Recipe-organizing guides — iwant2eat">
330    <meta name="twitter:description" content="Practical guides to saving, organizing, and translating your recipes.">
331    <meta name="twitter:image" content="https://www.iwant2eat.com/brand/shot-recipes.png">
vendor: 63 bytes, line 331
331<script async src="https://www.googletagmanager.com/gtag/js?id=
331G-2BDQSBTS44
vendor: 44 bytes, lines 331-332
331" crossorigin="anonymous"></script>
332        
332<script>
333            
vendor: 163 bytes, lines 333-336
333window.dataLayer = window.dataLayer || [];
334            function gtag(){dataLayer.push(arguments);}
335            gtag('js', new Date());
336            gtag('config', '
336G-2BDQSBTS44
vendor: 41 bytes, lines 336-337
336', { groups: 'iwe_analytics' });
337        
337</script>
vendor: 1 bytes, line 337
337
338<script>
339window.dataLayer = window.dataLayer || [];
340window.gtag = window.gtag || function(){window.dataLayer.push(arguments);};
341
342gtag('config', 'AW-978480151', {
343  groups: 'iwe_ads', send_page_view: false,
344  allow_ad_personalization_signals: false,
345  page_location: location.origin + location.pathname,
346  page_referrer: '', page_title: 'iwant2eat'
347});
348</script>
348<script>
349            (function(c,l,a,r,i,t,y){
350                c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
351                t=l.createElement(r);t.async=1;t.crossOrigin="anonymous";t.src="https://www.clarity.ms/tag/"+i;
352                y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
353            })(window, document, "clarity", "script", "wizxuxye7q");
354        </script>
354<script>
355            !function(f,b,e,v,n,t,s)
356            {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
357            n.callMethod.apply(n,arguments):n.queue.push(arguments)};
358            if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
359            n.queue=[];t=b.createElement(e);t.async=!0;t.crossOrigin="anonymous";
360            t.src=v;s=b.getElementsByTagName(e)[0];
361            s.parentNode.insertBefore(t,s)}(window, document,'script',
362            'https://connect.facebook.net/en_US/fbevents.js');
363            fbq('init', '1589492488828826');
364            fbq('track', 'PageView');
365
366            // Now that the pixel has read fbclid, take it out of the address
367            // bar. fbq() above has already captured it into the _fbc cookie,
368            // so removing it costs no attribution — and the visitor stops
369            // looking at (and copying, and re-sharing) a hundred characters of
370            // Facebook tracking.
371            //
372            // This is the counterpart to the server-side strip in Program.cs,
373            // which deliberately only runs while NO pixel is configured. Doing
374            // it there once a pixel exists would redirect before any JS ran and
375            // silently kill ad attribution; doing it here cannot, because it
376            // runs after init on the same tick.
377            //
378            // replaceState rather than a redirect: no extra request, no history
379            // entry to trap the back button, and nothing for the service worker
380            // to mistake for an opaque redirect.
381            (function () {
382                try {
383                    var u = new URL(window.location.href);
384                    if (!u.searchParams.has('fbclid')) return;
385                    u.searchParams.delete('fbclid');
386                    history.replaceState(null, '', u.pathname + u.search + u.hash);
387                } catch (e) { /* older browser — leave the URL alone */ }
388            })();
389        </script>
389
390        <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1589492488828826&amp;ev=PageView&amp;noscript=1" alt /></noscript>
390<script>
391            !function(w,d){if(!w.rdt){var p=w.rdt=function(){p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)};p.callQueue=[];var t=d.createElement("script");t.src="https://www.redditstatic.com/ads/pixel.js",t.async=!0,t.crossOrigin="anonymous";var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(t,s)}}(window,document);
392            rdt('init', 'a2_iyhn1yz6pugm');
393            rdt('track', 'PageVisit');
394        </script>
394</head>
395
396<body data-theme="market"><div id="iwe-net-banner" hidden><strong>Offline — read only.</strong>
397        Edits will work again when you're back on the network.
398    </div>
399    <div class="page" b-c4d6obr8sz><div id="ext-promo-banner" class="ext-promo-banner ext-promo-hidden" b-c4d6obr8sz><span b-c4d6obr8sz>
400            💡 <strong b-c4d6obr8sz>Save recipes from any site in one click.</strong>
401            Install the <a class="ext-promo-link" href="https://chromewebstore.google.com/detail/iwant2eat-save-recipe/coeccnldalnnbaghjpinimenecgfaipn" target="_blank" rel="noopener" b-c4d6obr8sz>iwant2eat Chrome Extension</a>.
402        </span>
403        <button type="button" class="ext-promo-close" aria-label="Dismiss" onclick="window.iwe2ExtBanner && window.iwe2ExtBanner.dismiss()" b-c4d6obr8sz>×</button></div>
404    <header class="topbar" b-c4d6obr8sz><a class="brand" href="/" title="Main Page" b-c4d6obr8sz><img src="/brand/icon-192.png" alt="iwant2eat" height="42" b-c4d6obr8sz></a><nav b-c4d6obr8sz><a href="/Account/Login" b-c4d6obr8sz>Sign in</a>
405                    <a href="/Account/Register" b-c4d6obr8sz>Sign up</a>
406                    <a href="/help" class="help-link" title="Help" aria-label="Help" b-c4d6obr8sz>?</a></nav></header><main b-c4d6obr8sz>
407
408
409
410<div class="guides-index"><header class="guides-head"><h1>Recipe guides</h1>
411        <p class="guides-sub">
412            Practical, no-nonsense guides to getting every recipe you care about
413            into one place you can actually search.
414        </p></header>
415
416    <ul class="guides-list"><li class="guides-card"><a class="guides-card-link" href="/guides/how-to-organize-recipe-screenshots"><h2 class="guides-card-title">How to Organize the Recipe Screenshots Piling Up on Your Phone</h2>
417                    <p class="guides-card-desc">Hundreds of recipe screenshots you can never find again? Here&#x27;s a simple system to organize them once &#x2014; and actually cook from them.</p>
418                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/save-recipes-from-email"><h2 class="guides-card-title">How to Save Recipes from Email Without Losing Them Again</h2>
419                    <p class="guides-card-desc">Recipes buried in your inbox from newsletters, friends, and family? Here&#x27;s how to get every emailed recipe into one searchable place.</p>
420                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/digitize-handwritten-recipe-cards"><h2 class="guides-card-title">How to Digitize Handwritten Recipe Cards (Before You Lose Them)</h2>
421                    <p class="guides-card-desc">Grandma&#x27;s recipe box won&#x27;t last forever. Here&#x27;s how to digitize handwritten recipe cards so they&#x27;re searchable, shareable, and safe.</p>
422                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/organize-family-recipes"><h2 class="guides-card-title">How to Organize and Preserve Your Family Recipes</h2>
423                    <p class="guides-card-desc">Turn a shoebox of cards and scattered files into a lasting family cookbook that everyone can access and cook from. A practical guide.</p>
424                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/save-recipes-from-youtube"><h2 class="guides-card-title">How to Save a Recipe from a YouTube Cooking Video</h2>
425                    <p class="guides-card-desc">Love a YouTube recipe but hate scrubbing back through a 12-minute video? Here&#x27;s how to turn cooking videos into clean, cookable recipe cards.</p>
426                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/translate-a-recipe"><h2 class="guides-card-title">How to Translate a Recipe into Any Language</h2>
427                    <p class="guides-card-desc">Cooking from a recipe in another language? Here&#x27;s how to translate ingredients, steps, and even oven temperatures accurately &#x2014; not just word-for-word.</p>
428                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/convert-recipe-measurements"><h2 class="guides-card-title">How to Convert Recipe Measurements (Cups, Grams, &#xB0;F, &#xB0;C)</h2>
429                    <p class="guides-card-desc">Cups to grams, ounces to milliliters, Fahrenheit to Celsius &#x2014; a plain-English guide to converting recipe measurements without ruining the dish.</p>
430                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/best-way-to-store-recipes"><h2 class="guides-card-title">The Best Way to Store the Recipes You Actually Cook</h2>
431                    <p class="guides-card-desc">Bookmarks, screenshots, and five different apps? Here&#x27;s how to store your recipes in one private, searchable place you&#x27;ll actually use.</p>
432                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/recipe-app"><h2 class="guides-card-title">Choosing a Recipe App for the Recipes You Already Cook (2026)</h2>
433                    <p class="guides-card-desc">Recipe apps come in two kinds and only one keeps YOUR recipes. What to look for in a recipe app, the questions to ask before committing, and how to avoid losing everything.</p>
434                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/recipe-collection"><h2 class="guides-card-title">How to Build a Recipe Collection You&#x27;ll Actually Cook From</h2>
435                    <p class="guides-card-desc">Turn scattered bookmarks, screenshots and cards into one recipe collection you actually use &#x2014; what to organize, what not to bother with, and where to start.</p>
436                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/recipe-vault"><h2 class="guides-card-title">What a Recipe Vault Is &#x2014; and Why Yours Should Be Private</h2>
437                    <p class="guides-card-desc">A recipe vault is a private, permanent, portable home for your recipes. What separates a vault from a saved list, and why it matters when apps shut down.</p>
438                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/how-to-save-recipes"><h2 class="guides-card-title">How to Save Recipes from Anywhere (Web, Email, Photos, Video)</h2>
439                    <p class="guides-card-desc">Every way to save a recipe &#x2014; websites, email, screenshots, cookbooks, TikTok and YouTube videos, and family &#x2014; and how to get them all into one searchable place.</p>
440                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/digital-recipe-box"><h2 class="guides-card-title">Digital Recipe Box: Keeping the Index Cards Without Losing Them</h2>
441                    <p class="guides-card-desc">How to turn a box of index cards into a digital recipe box &#x2014; searchable, scalable, shareable with family, and with the original handwriting kept intact.</p>
442                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/grocery-price-tracking"><h2 class="guides-card-title">How to Actually Know if a Grocery Price Is Good</h2>
443                    <p class="guides-card-desc">Price-comparison apps go stale fast. Here&#x27;s the grocery price tracking that works: unit prices, your own history, and reading the label while you&#x27;re in the aisle.</p>
444                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/yummly-alternative"><h2 class="guides-card-title">The Best Yummly Alternatives in 2026 (Now That It&#x27;s Gone)</h2>
445                    <p class="guides-card-desc">Yummly shut down in December 2024. The best Yummly alternatives in 2026 for saving recipes, meal planning, and shopping lists &#x2014; honestly compared.</p>
446                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/paprika-app-alternative"><h2 class="guides-card-title">Paprika App Alternatives in 2026 (If You Need a Web App or AI)</h2>
447                    <p class="guides-card-desc">Paprika 3 is a great one-time-purchase recipe manager &#x2014; but there&#x27;s no web app and no AI. The best Paprika alternatives in 2026, honestly compared.</p>
448                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/copy-me-that-alternative"><h2 class="guides-card-title">Copy Me That Alternatives Now That Free Caps at 40 Recipes</h2>
449                    <p class="guides-card-desc">Copy Me That capped its free plan at 40 recipes. The best alternatives in 2026 &#x2014; including unlimited options &#x2014; honestly compared, with current prices.</p>
450                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/anylist-alternative"><h2 class="guides-card-title">AnyList Alternatives in 2026 (Recipes &#x2B; Lists, No Web Paywall)</h2>
451                    <p class="guides-card-desc">AnyList is excellent &#x2014; but web access costs extra, and there&#x27;s no photo scan, AI, or translation. The best AnyList alternatives in 2026, honestly compared.</p>
452                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/mealime-alternative"><h2 class="guides-card-title">Mealime Alternatives That Plan from Your Own Recipes (2026)</h2>
453                    <p class="guides-card-desc">Mealime plans meals from its recipe library &#x2014; not yours &#x2014; and has no web app. The best Mealime alternatives in 2026 for planning from your own collection.</p>
454                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/plan-to-eat-alternative"><h2 class="guides-card-title">Plan to Eat Alternatives in 2026 (Same Idea, Less Money or More AI)</h2>
455                    <p class="guides-card-desc">Plan to Eat plans meals from your own recipes for $49/yr. Alternatives in 2026 that do it for less, add AI, or skip the subscription &#x2014; honestly compared.</p>
456                    <span class="guides-card-more">Read the guide →</span></a></li><li class="guides-card"><a class="guides-card-link" href="/guides/organize-meal-kit-recipe-cards"><h2 class="guides-card-title">How to Keep Your HelloFresh Recipe Cards (Even After You Cancel)</h2>
457                    <p class="guides-card-desc">Canceled HelloFresh, Goodfood, or Chef&#x27;s Plate? Don&#x27;t lose the recipe cards you loved. How to digitize meal-kit cards into a searchable collection.</p>
458                    <span class="guides-card-more">Read the guide →</span></a></li></ul>
459
460    <aside class="guides-cta"><h2>One private, searchable vault for all of it</h2>
461        <p>iwant2eat saves recipes from a paste, a photo, a URL, or an email — then lets you ask, in plain language, what to cook.</p>
462        <a class="btn btn-primary btn-lg" href="/Account/Register">Start free trial</a>
463        <p class="guides-cta-fine">14 days free, no card. Or <a href="/try">take a look first</a>.</p></aside></div>
464
465<style>
466    .guides-index { max-width: 820px; margin: 1.5rem auto 3rem; padding: 0 1rem; }
467    .guides-head { text-align: center; margin-bottom: 2rem; }
468    .guides-head h1 {
469        font-family: "Lora", Georgia, "Times New Roman", serif;
470        font-size: clamp(1.9rem, 3.6vw, 2.5rem); font-weight: 700; margin: 0 0 0.5rem; color: var(--text);
471    }
472    .guides-sub { color: var(--muted); font-size: 1.1rem; max-width: 52ch; margin: 0 auto; }
473    .guides-list {
474        list-style: none; padding: 0; margin: 0;
475        display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem;
476    }
477    .guides-card {
478        background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
479        box-shadow: var(--shadow); overflow: hidden; transition: transform 0.12s, box-shadow 0.12s;
480    }
481    .guides-card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.08); }
482    .guides-card-link { display: block; padding: 1.25rem 1.35rem; text-decoration: none; color: inherit; height: 100%; }
483    .guides-card-title { font-family: "Lora", Georgia, serif; font-size: 1.15rem; font-weight: 600; margin: 0 0 0.45rem; color: var(--text); line-height: 1.3; }
484    .guides-card-desc { color: var(--muted); font-size: 0.92rem; margin: 0 0 0.75rem; line-height: 1.5; }
485    .guides-card-more { color: var(--primary); font-weight: 600; font-size: 0.9rem; }
486    .guides-cta {
487        margin-top: 2.5rem; padding: 1.75rem 1.5rem; text-align: center;
488        background: linear-gradient(180deg, #eaf7e6 0%, #d8eecd 100%);
489        border: 1px solid #b8e1ae; border-radius: 14px;
490    }
491    .guides-cta h2 { font-family: "Lora", Georgia, serif; font-size: 1.35rem; margin: 0 0 0.5rem; color: #1f4d1c; }
492    .guides-cta p { color: #2e6a28; max-width: 46ch; margin: 0 auto 1.1rem; }
493    .guides-cta-fine { font-size: 0.88rem; color: #3b6c33; margin-top: 0.9rem; }
494    .guides-cta-fine a { color: #1f4d1c; }
495</style></main>
496    <footer class="site-footer" b-c4d6obr8sz><a href="/help" b-c4d6obr8sz>Help</a>
497        <span b-c4d6obr8sz>·</span>
498        <a href="/guides" b-c4d6obr8sz>Guides</a>
499        <span b-c4d6obr8sz>·</span>
500        <a href="/get-extension" b-c4d6obr8sz>Get the extension</a>
501        <span b-c4d6obr8sz>·</span>
502        <a href="/privacy" b-c4d6obr8sz>Privacy</a>
503        <span b-c4d6obr8sz>·</span>
504        <a href="/terms" b-c4d6obr8sz>Terms</a>
505        <span b-c4d6obr8sz>·</span>
506        <a href="/dmca" b-c4d6obr8sz>DMCA</a>
507        <span b-c4d6obr8sz>·</span>
508        <a href="/data-deletion" b-c4d6obr8sz>Data deletion</a>
509        <span class="site-footer-sep" b-c4d6obr8sz>·</span>
510        <span class="lang-picker-form" b-c4d6obr8sz><select class="lang-picker" aria-label="Language" onchange="if(this.value)window.location.href=&#x27;/set-lang?code=&#x27;&#x2B;encodeURIComponent(this.value)&#x2B;&#x27;&amp;returnUrl=&#x27;&#x2B;encodeURIComponent(window.location.pathname&#x2B;window.location.search)" b-c4d6obr8sz><option value="ar" b-c4d6obr8sz>&#x627;&#x644;&#x639;&#x631;&#x628;&#x64A;&#x629;</option><option value="bn" b-c4d6obr8sz>&#x9AC;&#x9BE;&#x982;&#x9B2;&#x9BE;</option><option value="de" b-c4d6obr8sz>Deutsch</option><option value="en" selected b-c4d6obr8sz>English</option><option value="es" b-c4d6obr8sz>Espa&#xF1;ol</option><option value="fr" b-c4d6obr8sz>Fran&#xE7;ais</option><option value="gu" b-c4d6obr8sz>&#xA97;&#xAC1;&#xA9C;&#xAB0;&#xABE;&#xAA4;&#xAC0;</option><option value="he" b-c4d6obr8sz>&#x5E2;&#x5D1;&#x5E8;&#x5D9;&#x5EA;</option><option value="hi" b-c4d6obr8sz>&#x939;&#x93F;&#x928;&#x94D;&#x926;&#x940;</option><option value="id" b-c4d6obr8sz>Bahasa Indonesia</option><option value="it" b-c4d6obr8sz>Italiano</option><option value="ja" b-c4d6obr8sz>&#x65E5;&#x672C;&#x8A9E;</option><option value="kn" b-c4d6obr8sz>&#xC95;&#xCA8;&#xCCD;&#xCA8;&#xCA1;</option><option value="ko" b-c4d6obr8sz>&#xD55C;&#xAD6D;&#xC5B4;</option><option value="ml" b-c4d6obr8sz>&#xD2E;&#xD32;&#xD2F;&#xD3E;&#xD33;&#xD02;</option><option value="mr" b-c4d6obr8sz>&#x92E;&#x930;&#x93E;&#x920;&#x940;</option><option value="nl" b-c4d6obr8sz>Nederlands</option><option value="pa" b-c4d6obr8sz>&#xA2A;&#xA70;&#xA1C;&#xA3E;&#xA2C;&#xA40;</option><option value="pl" b-c4d6obr8sz>Polski</option><option value="pt" b-c4d6obr8sz>Portugu&#xEA;s</option><option value="pt-BR" b-c4d6obr8sz>Portugu&#xEA;s (Brasil)</option><option value="ru" b-c4d6obr8sz>&#x420;&#x443;&#x441;&#x441;&#x43A;&#x438;&#x439;</option><option value="sv" b-c4d6obr8sz>Svenska</option><option value="ta" b-c4d6obr8sz>&#xBA4;&#xBAE;&#xBBF;&#xBB4;&#xBCD;</option><option value="te" b-c4d6obr8sz>&#xC24;&#xC46;&#xC32;&#xC41;&#xC17;&#xC41;</option><option value="th" b-c4d6obr8sz>&#xE44;&#xE17;&#xE22;</option><option value="tr" b-c4d6obr8sz>T&#xFC;rk&#xE7;e</option><option value="uk" b-c4d6obr8sz>&#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x441;&#x44C;&#x43A;&#x430;</option><option value="ur" b-c4d6obr8sz>&#x627;&#x631;&#x62F;&#x648;</option><option value="vi" b-c4d6obr8sz>Ti&#x1EBF;ng Vi&#x1EC7;t</option><option value="zh" b-c4d6obr8sz>&#x4E2D;&#x6587;</option></select>
511                    <noscript b-c4d6obr8sz><form method="get" action="/set-lang" style="display:inline;" b-c4d6obr8sz><input type="hidden" name="returnUrl" value="/guides" b-c4d6obr8sz />
512                            <select name="code" class="lang-picker" aria-label="Language" b-c4d6obr8sz><option value="ar" b-c4d6obr8sz>&#x627;&#x644;&#x639;&#x631;&#x628;&#x64A;&#x629;</option><option value="bn" b-c4d6obr8sz>&#x9AC;&#x9BE;&#x982;&#x9B2;&#x9BE;</option><option value="de" b-c4d6obr8sz>Deutsch</option><option value="en" selected b-c4d6obr8sz>English</option><option value="es" b-c4d6obr8sz>Espa&#xF1;ol</option><option value="fr" b-c4d6obr8sz>Fran&#xE7;ais</option><option value="gu" b-c4d6obr8sz>&#xA97;&#xAC1;&#xA9C;&#xAB0;&#xABE;&#xAA4;&#xAC0;</option><option value="he" b-c4d6obr8sz>&#x5E2;&#x5D1;&#x5E8;&#x5D9;&#x5EA;</option><option value="hi" b-c4d6obr8sz>&#x939;&#x93F;&#x928;&#x94D;&#x926;&#x940;</option><option value="id" b-c4d6obr8sz>Bahasa Indonesia</option><option value="it" b-c4d6obr8sz>Italiano</option><option value="ja" b-c4d6obr8sz>&#x65E5;&#x672C;&#x8A9E;</option><option value="kn" b-c4d6obr8sz>&#xC95;&#xCA8;&#xCCD;&#xCA8;&#xCA1;</option><option value="ko" b-c4d6obr8sz>&#xD55C;&#xAD6D;&#xC5B4;</option><option value="ml" b-c4d6obr8sz>&#xD2E;&#xD32;&#xD2F;&#xD3E;&#xD33;&#xD02;</option><option value="mr" b-c4d6obr8sz>&#x92E;&#x930;&#x93E;&#x920;&#x940;</option><option value="nl" b-c4d6obr8sz>Nederlands</option><option value="pa" b-c4d6obr8sz>&#xA2A;&#xA70;&#xA1C;&#xA3E;&#xA2C;&#xA40;</option><option value="pl" b-c4d6obr8sz>Polski</option><option value="pt" b-c4d6obr8sz>Portugu&#xEA;s</option><option value="pt-BR" b-c4d6obr8sz>Portugu&#xEA;s (Brasil)</option><option value="ru" b-c4d6obr8sz>&#x420;&#x443;&#x441;&#x441;&#x43A;&#x438;&#x439;</option><option value="sv" b-c4d6obr8sz>Svenska</option><option value="ta" b-c4d6obr8sz>&#xBA4;&#xBAE;&#xBBF;&#xBB4;&#xBCD;</option><option value="te" b-c4d6obr8sz>&#xC24;&#xC46;&#xC32;&#xC41;&#xC17;&#xC41;</option><option value="th" b-c4d6obr8sz>&#xE44;&#xE17;&#xE22;</option><option value="tr" b-c4d6obr8sz>T&#xFC;rk&#xE7;
512e</option><option value="uk" b-c4d6obr8sz>&#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x441;&#x44C;&#x43A;&#x430;</option><option value="ur" b-c4d6obr8sz>&#x627;&#x631;&#x62F;&#x648;</option><option value="vi" b-c4d6obr8sz>Ti&#x1EBF;ng Vi&#x1EC7;t</option><option value="zh" b-c4d6obr8sz>&#x4E2D;&#x6587;</option></select>
513                            <button type="submit" class="lang-picker-go" b-c4d6obr8sz>Go</button></form></noscript></span>
514                <span class="site-footer-sep" b-c4d6obr8sz>·</span>
515        <span class="site-footer-copy" b-c4d6obr8sz>
516            &copy; 2025&ndash;2026 VolicSoftware Inc.
517        </span></footer></div>
518
519<div id="blazor-error-ui" data-nosnippet b-c4d6obr8sz>
520    An unhandled error has occurred.
521    <a href="." class="reload" b-c4d6obr8sz>Reload</a>
522    <span class="dismiss" b-c4d6obr8sz>🗙</span></div>
523        <blazor-focus-on-navigate selector="h1"></blazor-focus-on-navigate>
524    
524<script type="module" src="Components/Layout/ReconnectModal.5iaswfb9pn.razor.js" b-vxtzfwoeql></script>
524
525
526<dialog id="components-reconnect-modal" data-nosnippet b-vxtzfwoeql><div class="components-reconnect-container" b-vxtzfwoeql><div class="components-rejoining-animation" aria-hidden="true" b-vxtzfwoeql><div b-vxtzfwoeql></div>
527            <div b-vxtzfwoeql></div></div>
528        <p class="components-reconnect-first-attempt-visible" b-vxtzfwoeql>
529            Rejoining the server...
530        </p>
531        <p class="components-reconnect-repeated-attempt-visible" b-vxtzfwoeql>
532            Rejoin failed... trying again in <span id="components-seconds-to-next-attempt" b-vxtzfwoeql></span> seconds.
533        </p>
534        <p class="components-reconnect-failed-visible" b-vxtzfwoeql>
535            Failed to rejoin.<br b-vxtzfwoeql>Please retry or reload the page.
536        </p>
537        <button id="components-reconnect-button" class="components-reconnect-failed-visible" b-vxtzfwoeql>
538            Retry
539        </button>
540        <p class="components-pause-visible" b-vxtzfwoeql>
541            The session has been paused by the server.
542        </p>
543        <p class="components-resume-failed-visible" b-vxtzfwoeql>
544            Failed to resume the session.<br b-vxtzfwoeql>Please retry or reload the page.
545        </p>
546        <button id="components-resume-button" class="components-pause-visible components-resume-failed-visible" b-vxtzfwoeql>
547            Resume
548        </button></div></dialog>
549    
549<script>
550        (function () {
551            // SW-driven URL rewrite. When the SW serves cached
552            // /offline/recipes content under a different URL (e.g.
553            // /recipes/{guid} that we couldn't redirect to without
554            // iOS Safari PWA dropping the response), it stamps the
555            // canonical /offline/* path onto <body data-iwe-rewrite-
556            // to>. We do the replaceState here, BEFORE Blazor reads
557            // location.pathname during boot, so the WASM router lands
558            // on the right route (WasmRecipe instead of NotFound).
559            try {
560                if (document.body && document.body.dataset
561                    && document.body.dataset.iweRewriteTo
562                    && document.body.dataset.iweRewriteTo.charAt(0) === '/') {
563                    var rw = document.body.dataset.iweRewriteTo;
564                    if (rw !== location.pathname) {
565                        history.replaceState(null, '', rw + location.search + location.hash);
566                    }
567                    delete document.body.dataset.iweRewriteTo;
568                }
569            } catch (_) { /* swallow */ }
570
571            if (window.__iweWasmAnchorInstalled) return;
572            window.__iweWasmAnchorInstalled = true;
573
574            document.addEventListener('click', function (e) {
575                try {
576                    if (!document.body) return;
577                    var bc = document.body.classList;
578                    var isWasm = bc.contains('iwe-wasm-page');
579                    var isOff = !navigator.onLine || bc.contains('iwe-net-offline');
580                    if (!isWasm && !isOff) {
581                        // Online server page — pass through to Blazor
582                        // enhanced-nav.
583                        return;
584                    }
585                    var t = e.target;
586                    var a = t && t.closest && t.closest('a[href]');
587                    if (!a) return;
588                    var h = a.getAttribute('href');
589                    if (!h || h.charAt(0) === '#' || /^javascript:/i.test(h)) return;
590                    if (a.target && a.target !== '' && a.target !== '_self') return;
591                    try {
592                        var u = new URL(h, location.origin);
593                        if (u.origin !== location.origin) return;
594                    } catch (_) { return; }
595                    e.preventDefault();
596                    e.stopImmediatePropagation();
597                    window.location.href = h;
598                } catch (_) { /* swallow */ }
599            }, true);
600        })();
601    </script>
601
602    
602<script src="_framework/blazor.web.9hsif5t8mt.js"></script>
602
603    
603<script src="js/error-reporter.lpaon3icqs.js" defer></script>
603
604    
604<script src="js/native-bridge.h1wov55x50.js" defer></script>
604
605    
605<script src="js/nav-scroll.z7inkc8n82.js" defer></script>
605
606    
606<script src="js/card-nav-fallback.2ghcdzqrhw.js" defer></script>
606
607    
607<script src="js/nav-watchdog.fupe1nn511.js" defer></script>
607
608    
608<script src="js/step-check.i9fw7teo44.js" defer></script>
608
609    
609<script src="js/tap-haptics.5cxr9u3gw4.js" defer></script>
609
610    
610<script src="js/account-deleted.wa3gmw54bc.js" defer></script>
610
611    
611<script src="js/recipe-format.ug9289yphx.js" defer></script>
611
612    
612<script src="js/prevent-drop.vbs19cu0tp.js" defer></script>
612
613    
613<script src="js/password-toggle.plun6cicut.js" defer></script>
613
614    
614<script src="js/ai-alerts.yam1hxr0k5.js" defer></script>
614
615    
615<script src="js/html2pdf.bundle.min.pvdha3938a.js" defer></script>
615
616    
616<script src="js/iwe-print.8nqc6k623e.js" defer></script>
616
617    
617<script src="js/ing-edit-delay.d4786nf75t.js" defer></script>
617
618    
618<script src="js/geo-store.bymqbj5izk.js" defer></script>
618
619    
619<script src="js/col-resize.7axw9mih4z.js" defer></script>
619
620    
620<script src="js/sw-reload.d7wpcgaail.js" defer></script>
620
621    
621<script src="js/social-share.y68texoyml.js" defer></script>
621
622    
622<script src="js/recipe-video.iy7pc2asts.js" defer></script>
622
623    
623<script src="js/keep-awake-ui.srn3wmx03d.js" defer></script>
623
624    
624<script src="js/contact-picker.u4n4v0bzi5.js" defer></script>
624
625    
625<script src="js/paprika-drop.dl11mqpt3k.js" defer></script>
625
626    
626<script src="js/prefs.k3ir0fkg2u.js" defer></script>
626
627    
627<script src="js/sync.nsxs4o9i6h.js" defer></script>
627
628    
628<script src="js/sync-ui.nqft9xrfni.js" defer></script>
628
629    
629<script src="js/sync-auto.9djpypdbu7.js" defer></script>
629
630    
630<script src="js/install-prompt.tumv8yl31y.js" defer></script>
630
631    
631<script src="js/extension-banner.6r9rsgt4sg.js" defer></script>
631
632    
632<script src="js/analytics.dbdjnyqt7e.js" defer></script>
632
633    
633<script src="js/footer-buildstamp.p0kwebuj2g.js" defer></script>
633
634    
634<script src="js/iwe-offline.b9eni71xu6.js" defer></script>
634<script src="js/theme.amjygw6y4u.js"></script>
634</body></html><!--Blazor-Server-Component-State:CfDJ8J5J2KokqVZPu1ELipQeem/sWhKiGd5KAnj2FLnPEXzdszdtoCd+8zvXMdSIXhTFV90/NOyPO5VqErhyekHtm7LP3/vE1K5LnwHWJkoUoZ6r4zfGr0jDajgJu6L7BNhve1FwsVEeOJlSCsH7LGBFdy50y8t9Pm62+dyzOQzcPkp7C/5M1zLnb2nuKkpLQK7+anrn8D+GrEvogzM0q4ZzSl/nRAEY7iWN3nY73stg4T/7vFXQaVCNRiSU1dnoS/7rWleFDwKiorn8uD/I5u5hmZq80pry8/iQJJ7D2nQrVdl+VeFsf9SpsrR2cS7NjqmXILKrTqHJT33Bk41MBrXa69gcHme4MKzuzMc1TfOnQCob5ePLOy7kvrxb14iugB/RJmtVfYk8awn9oRK0N95Kg2HRl7lou+uYOKhhyUGJW9nfeCKZAfDQrMu6ABFEyQctXPNoRpABrI7gWFViB4OcaqMygQqM2u+BRIxQaFF0WBlIV0uSM6YsxYofu3HM8EVHfEZmhrkXlCnClcRMKsUR5i0VDLvbJPH9jSuXjRizU9vabOSB9pOyjHyxa4csBFhvxnqWUQLnGEXvBwU9MmPc7MdTJEK/Rtf0EYexBU/RcqparK4PvbMauEM9ocmAvt5XHPFEOP4mPSZWVOhykb8LCK2OWXj1D8s5Qvl8OaObJF7BGKQqaLxLWtxGLPFmNLrUUw6NTkLud2lvsAZnpdaCNVPbJB5q87HYpTIyVhDXVOrAaOksNc7Iow678XDdC/Gh/f9A4HOgHK5HmPLiYR2FELSghR8UkkaH+MF8Z3fMfeQLfymWIe5RTrLDHgWXUREVjKSH5e9t/r/zTPnSiDK2baZv6gnFv2jsX7w0qcS8mot1D4h1aPExGP8CUWQ61t0sMhkpflWAGEUhO43j3cIdE/jKC3xeKSbCPFhmegd7n5t10EP9aJmlk2vHe5f7/Q+fXeyibDb3r6Q5akjH7ghrug3yTVHKHCi0x5XQiw7ysoAev0oGhjgfYDsnLCQkI5XifTzyGBZBa5Yk3cUUFLvhu+EzI/M+/Y8lDXFmDZgExwr4DYDGQndexFEpsfXKrgRUTUllhNC26yT0T2uvZITeN0O8uvwHRjIMaesTSKIfo+9aIHHVRskODSObwf1FxXewbA==--><!--Blazor-WebAssembly-Component-State:eyJLOVRlM0xEYlx1MDAyQjZ4ZkpDLzBSVDBCR0xRT3ZwWGlQNEtJU2dBa096RG5za0E9IjoiSWk0dlgyWnlZVzFsZDI5eWF5OXlaWE52ZFhKalpTMWpiMnhzWldOMGFXOXVMbVZPZUZKVkxtcHpJZz09IiwiTWljcm9zb2Z0LkFzcE5ldENvcmUuQ29tcG9uZW50cy5JbmZyYXN0cnVjdHVyZS5QZXJzaXN0ZW50U2VydmljZXNSZWdpc3RyeSI6Ilczc2lZWE56WlcxaWJIa2lPaUpOYVdOeWIzTnZablF1UVhOd1RtVjBRMjl5WlM1RGIyMXdiMjVsYm5SekxrVnVaSEJ2YVc1MGN5SXNJbVoxYkd4VWVYQmxUbUZ0WlNJNklrMXBZM0p2YzI5bWRDNUJjM0JPWlhSRGIzSmxMa052YlhCdmJtVnVkSE11VW1WemIzVnlZMlZEYjJ4c1pXTjBhVzl1VUhKdmRtbGtaWElpZlN4N0ltRnpjMlZ0WW14NUlqb2lUV2xqY205emIyWjBMa0Z6Y0U1bGRFTnZjbVV1UTI5dGNHOXVaVzUwY3k1WFpXSWlMQ0ptZFd4c1ZIbHdaVTVoYldVaU9pSk5hV055YjNOdlpuUXVRWE53VG1WMFEyOXlaUzVEYjIxd2IyNWxiblJ6TGtadmNtMXpMa0Z1ZEdsbWIzSm5aWEo1VTNSaGRHVlFjbTkyYVdSbGNpSjlYUT09IiwiS1N6dFQ4NGdBaVYwSU8vVUJSUnBPbThLNGpxRWZcdTAwMkIxSnp2Vk9DTUJsc2lVPSI6ImV5SjJZV3gxWlNJNklrTm1SRW80U2pWS01rdHZhM0ZXV2xCMU1VVk1hWEJSWldWdFgwODRhVWxmU0ZJemRWZHNibTVrVTB0cVZtcDBWM0p2UTJaUmJFNVJlbVppWlZwWVZtZEZPR0V6VDI5Q2JFcG1jVm96YW5waFoxQXRiMHhVVUd0UmRHWlJhWEZ1UldaVkxUaFlZMWRoU1haSmVXNTZVRkV6UTJkR1F6ZENTV0ZTVERCYU1rRmlkM1J5TjNaQlptWnNjR1ZuYUc0elUwTnJWVVowZUVJM1lubHJJaXdpWm05eWJVWnBaV3hrVG1GdFpTSTZJbDlmVW1WeGRXVnpkRlpsY21sbWFXTmhkR2x2YmxSdmEyVnVJbjA9In0=-->

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.