> ## Documentation Index
> Fetch the complete documentation index at: https://rdsciv/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ASCII Art Converter FAQ and Troubleshooting

> Answers to common questions about loading files, browser support, GIF export errors, webcam permission issues, and tips for getting the best ASCII results.

Whether you're running into a file format question, a blurry export, or a missing webcam feed, this page covers the most common issues and how to resolve them.

<AccordionGroup>
  <Accordion title="What file formats can I use?">
    ASCII accepts the following input formats:

    * **Images**: JPG, PNG, WebP, GIF (static; animated GIFs use the first frame)
    * **Videos**: MP4, MOV (a scrub bar and Play/Pause controls appear after loading)
    * **Clipboard**: paste any image directly with Ctrl+V / Cmd+V
    * **Webcam**: live feed via the **Start webcam** button (requires browser permission)
  </Accordion>

  <Accordion title="Does it work offline?">
    The core ASCII renderer works entirely in your browser and needs no internet connection after the page has loaded. The one exception is **GIF export**: the first time you export a GIF in a session, the tool fetches the `gif.js.optimized` worker script from jsDelivr CDN. Subsequent exports within the same session reuse the cached blob URL. If you are offline and have not yet exported a GIF, that first export will fail with a network error.
  </Accordion>

  <Accordion title="Why does my webcam show as a black canvas?">
    The browser needs explicit camera permission. Check your browser's address bar for a blocked camera icon and click it to allow access. Also confirm that no other application is using the camera exclusively — some video conferencing apps hold the camera lock even when minimised. After granting permission, click **Start webcam** again.
  </Accordion>

  <Accordion title="My GIF export says &#x22;gif.js not loaded — check network&#x22;">
    The `gif.js.optimized` library failed to load from the CDN before the export was attempted. Check your internet connection and refresh the page, then try the export again. If you are behind a content filter that blocks jsDelivr, you will need to open the tool on a network that allows CDN access.
  </Accordion>

  <Accordion title="The exported PNG looks blurry at large sizes">
    The canvas renders at the natural pixel dimensions of your output. To get a sharper, larger file, select **2×** or **4×** from the PNG scale dropdown before clicking **Save PNG**. The 4× option is well suited for print use or sharing on high-DPI screens.
  </Accordion>

  <Accordion title="Why does the output look stretched vertically?">
    Monospace characters are taller than they are wide. The **Char aspect** slider (default 0.55) compensates for this. If your output looks vertically stretched, lower the value; if it looks squashed, raise it. The correct value depends on the specific font and renderer — try values between 0.45 and 0.65 until proportions look right.
  </Accordion>

  <Accordion title="My custom presets disappeared">
    Custom presets are stored in your browser's localStorage. They will be lost if you clear site data, use a private/incognito window, or switch to a different browser. To back up a configuration you want to keep, use **Copy share link** — it encodes all current settings in a URL that you can bookmark or save anywhere.
  </Accordion>

  <Accordion title="How do I get the sharpest ASCII output?">
    For maximum detail: use a small cell size (6–10), the **Dense** character set, contrast around 1.5–2.0, and **Floyd-Steinberg** dithering. Enabling **Edge-aware chars** adds directional line characters (─ ╲ │ ╱) at detected edges, which sharpens outlines in photos and illustrations.
  </Accordion>

  <Accordion title="Can I use this on mobile?">
    Yes. The layout is responsive — the sidebar stacks above the preview on narrow screens. Touch drag-and-drop works on most mobile browsers. GIF export can be slow or run out of memory on older or lower-RAM devices, because each frame is rendered to a canvas before encoding. For mobile use, keep frame counts low (under 30) and cell size moderate (10+).
  </Accordion>

  <Accordion title="How do I restore my settings after closing the browser?">
    Your settings are automatically saved to localStorage on every change (with a 250 ms debounce) and restored the next time you open the page. No action is needed. If you want to reset everything, click **Reset to defaults** in the sidebar — this clears the saved session and returns all controls to the Classic preset values.
  </Accordion>
</AccordionGroup>
